The answer is simple: Because it works! It works with lightning-fast speed, very reliably, like clockwork. Because it's easy to use, and very robust. It promotes rapid model development and deployment and lives up to your wildest expectations of an expert system, like nothing else we know. It's not just “a degree of automation” - it achieves total automation.
While expert systems such as this aren't necessarily a new idea, the idea's success lies in its execution, which is rife with major challenges and difficulties. There exist other expert systems, such as speech and image recognition, computer configuration systems, or visual web site design products. We are aware of some efforts to create or use other Excel compilers. We strongly believe that we aimed for, achieved, and continue to relentlessly pursue excellence. Our potential competitors aren't going to be able to easily match our results due to the significant combined expertise, unique strengths and synergies in our international team of experts.
From its inception, Translator++™ for Excel was designed to handle even the most complex models, while being among the easiest programs to use. It was created by financial quants faced with the world's most challenging modeling tasks in finance, insurance and actuarial science. It was implemented in C++ by a team of the world's top-notch experts in object-oriented programming. Translator++™ for Excel evolved as part of our dynamic financial analysis (DFA) , and dynamic risk modeling (DRM) tools. It has been proven in the field, being utilized by our consultants and by many large financial institutions on the most challenging modeling tasks, thus enduring grueling testing on real-life modeling projects for several years. The product has won a reputation for being highly reliable, robust, powerful, flexible and easy-to-use. These keywords represent the core principles on which all of our software is based.
We continue to enhance the product and continue to look for more challenging applications for it. Translator++™ for Excel (and Dynamic Financial Analysis software in general) are our core competences, not some by-products of our other activities.
From its inception, we made Translator++™ for Excel a robust industrial-strength expert system. Its target audience is assumed to have no programming knowledge whatsoever, no time or desire to engage in any programming, to "climb the learning curve" of any kind, or to do any debugging at all. Even expert programmers overloaded with work like that idea!
As with any good idea, there will be other implementations of Excel compilers and spreadsheet translators. In our view, such a system must not be just another new technology good mostly for some experimental toy-projects, failing to convert more complex models seamlessly, or at all. It must not impose upon its users another brand of “computerese,” another set of conventions to memorize. Its users must not be forced to spend time trying to figure out how to "use it properly."
We built Translator++™ for Excel on these design principles. We have used and continue to use Translator++™ for Excel extensively in financial and risk modeling, always looking for more challenging applications. Some of the world's largest financial institutions have used it for several years to achieve tremendous (and instant) competitive advantage. Thus, Translator++™ for Excel , while still young, is in fact a tested and proven technology.
It may run ten times faster or hundreds of times faster, varying from model to model depending on their internal algorithms, size, and complexity.
No, it's just one benefit among many. There are at least three other major benefits, and even more advantages are discussed in this FAQ file.
With Translator++™ for Excel, you can convert Excel models into programs without the time and expense of program development. There may be valid reasons why your company would prefer to use programming experts, even though we would be hard pressed to understand why anyone would prefer the pain and expense of lengthy program development to the bliss of instant and error-free conversion of an Excel prototype model into machine code.
The main benefits are the speed of development and significant cost savings. For the purposes of converting a prototype Excel model into programming code, programming is a measurably more expensive, error-prone, labor- and time-consuming undertaking than using Translator++™ for Excel. With Translator++™ for Excel, you compile an Excel model into a program with the push of a button, and it's error-free. Without it, you're bound to get into lengthy and expensive debugging, troubleshooting and reprogramming.
Perhaps what they mean is that Translator++™ for Excel is a "revolutionary" product because it is an embodiment of the concept of "programming without programmers". The engineering team of Ultimate Risk Solutions, the company behind the product, have meticulously implemented the functionality translates (converts) Excel models into programs with the results that have truly revolutionized the business of financial and scientific modeling:
a) The entire process of creating C++ code, compiling and linking it with programming modules (such as VBA macros or Excel Add-In's) has been made automatic and error-free.
b) Model Builder and add-on statistical distribution functions (both features come with the product right out of the box) help you with rapid model development. Thus, not only does Translator++™ for Excel eliminate the lengthy, labor-intensive, and time-consuming program development altogether, it also helps you create models faster than before.
Out of the box, the machine code Windows DLL created by Translator++™ for Excel is licensed to run only on the Windows computer on which the product is installed. Alternatively, the DLL may run on any Windows computer with the Translator++'s for Excel run-time license installed. The C++ code, which Translator++™ for Excel optionally generates, may also be ported to any computer or platform for which a C++ compiler can generate executable code. Thus, the possibilities for porting are virtually limitless. Certain models could be run on some ferociously fast Unix boxes, or at the other extreme – on devices with rather limited computing power, such as PDA's and smart phones, such as those used on the live auction trading floors or out in the field.
The product has an option to “generate C++ code” when translating the spreadsheet. C++ code produced in this way may be ported to any platform. This is different from the product's default output, which is the machine executable code, a Windows Dynamic Linked Library (DLL).
Right out of the box, Translator++™ for Excel works on all Windows platforms, requiring no programming effort. It was created to help analysts solve complex problems in risk analysis and management, for finance, insurance and reinsurance industries, where Microsoft Windows and Excel are the mainstay and staple of computing and modeling. The product converts Microsoft Excel models directly into DLL, thus eliminating virtually any programming effort. By default, Translator++™ for Excel uses the Windows-specific mechanism of DLL's, and runs under Microsoft Windows.
However, by virtue of producing C++ code, Translator++'s for Excel output may be ported to other platforms. Your software engineers may port the C++ code to other platforms, or you may contract the software engineers from Ultimate Risk Solutions to do the job on a consulting basis.
Essentially, Translator++™ for Excel acts as a super-efficient programmer, converting spreadsheets with all their imbedded logic, plug-ins, and VBA modules, into the machine code or C++ code. It translates all the logic and formulae used in the Excel model. Thus, it empowers the Excel user to create programs instantly, without having to program in C++ or any programming language. This functionality is especially important to professionals accomplished in their respective fields, those who do not have the time and luxury to study programming.
No matter how proficient programmers are, programming is usually an involved discipline, a tedious, lengthy and expensive process. Meanwhile, due to its flexibility and broad features, developing a model in the Excel environment leads to much faster results. Rather than hire programmers to convert the spreadsheet logic to C++, companies use Translator++™ for Excel to do the job of coding their models in C++ or implementing models directly as machine code DLLs. Translator++™ for Excel does such conversions much more efficiently than human experts would ever be able to do.
Anyone with programming experience would tell you that they spend a good deal of time debugging and troubleshooting programming errors. Translator++™ for Excel creates the necessary C++ code virtually instantaneously, with no errors or bugs to troubleshoot, and much cheaper than programmers.
Yes, it is better, on average, and by a large margin whenever time is of the essence. Just like contemporary chess programs have no trouble beating an average chess player, and present at least a formidable challenge even to the best among the renowned International Chess Masters, Translator++™ for Excel is much faster than humans, delivering its results with robotic precision that humans can wish for, but find hard to match.
Translator++™ for Excel delivers dramatic improvement in models' recalculation time. So, the run-time speed of execution alone is no longer a justification for doing program development by hand. In addition, Excel's powerful, flexible and feature-rich environment for modeling makes it a modeling toolbox, which is hard to beat. Translator++™ for Excel augments Excel's capabilities and boosts your productivity by including Model Builder and add-on statistical distribution functions. It creates a decisively better modeling environment, translating models to code orders of magnitude faster than programmers using programming languages.
Model Builder helps you create a complex model by directing the data flow from the outputs of one model to the inputs of another, thus allowing you to architect complex models, which appear light and elegant, brief in form but comprehensive in scope. With Model Builder , you can create such comprehensive models using previously created models as the building blocks.
There are other important considerations:
Of course, there are applications and corporate environments with an abundance of superb programming expertise. Even there Translator++™ for Excel would shorten development cycles, while challenging the best programmers to some healthy competition.
On the contrary, you gain significantly more control, especially over quality and security . The process is exactly the same as the one currently followed in Excel modeling: a new model is audited (verified) before it is placed into production. Translator++™ for Excel removes the possibility for errors when the Excel model is converted to program code. Programming errors are inevitable when this conversion is done by programmers. The Model Builder facilitates structured model design, while DLL Tester automatically compares the results computed by the original Excel model with those delivered by the Translator++'s for Excel output, thus eliminating possibilities for errors or fraud. The Model Builder lets you generate an unlimited number of inputs on which to test the model. The inputs could be stochastically simulated using statistical distributions, produced as a result of dependencies on other inputs or on inputs or outputs from other Excel translated components, or taken from files you specify.
Yes, you need a C++ compiler installed on your computer in order to run Translator++™ for Excel. Several compilers are available for free. In fact, during its installation Translator++™ for Excel points you to the Microsoft's site to download a freely distributed C++ compiler, so there's no extra effort on your part to obtain it. As an alternative, you may use your own proprietary compiler, or download and install a freely distributed or commercially available compiler of your choice from any source, such as Microsoft, Borland or other.
After Translator++™ for Excel generates the C++ code, it needs a compiler to compile the spreadsheet and link it with any possible VBA modules and add-ins, in order to create the ready-to-run machine code. When your computer has a C++ compiler installed, the whole process of spreadsheet conversion becomes fully automated, accomplished with no programming effort or human intervention.
Certain models are notorious for sending you on a coffee break, or – in the more egregious cases – sending you home, as recalculation takes a long overnight processing. That's when Translator++™ for Excel really shines! Whether “just” 1000% or orders of magnitude, the actual speedup you will experience depends on the algorithms deployed inside the spreadsheets, with some correlation to the model's size.
No, Translator++™ for Excel is purely a software product, which runs on any Wintel machine. A contemporary personal computer running Microsoft Windows and Excel should suffice. Just as any software, however, it would benefit from running on a more powerful hardware platform, which may be a factor when creating especially complicated models.
Translator++™ for Excel takes advantage of the simple fact of life that programming code runs faster than spreadsheet code. The powerful, flexible and feature-rich modeling environment of Excel comes at a price, as far as the speed of recalculating models is concerned. A lot of CPU cycles are used up by Excel's environment, which is “the overhead” from the standpoint of the model's end user. In contrast, Translator++'s for Excel patented technology actually converts the Excel spreadsheets, with all their logic, formulas, and associated program modules, into C++ programming code, and then compiles and links all of these inputs into binary, machine-executable code. An executable file produced in this way incurs no overhead, runs very fast, and may be utilized in other models as one of their many building blocks. This makes up for concise and elegant modeling!
Excel is really a trade-off between speed and flexibility, the latter being paramount for model developers, the former – important for model end users. Translator++™ for Excel happily satisfies both groups. The code generated by Translator++™ for Excel isn't hampered by any of the inevitable speed deficiencies of Excel, and has no overhead. The code it generates may run up to hundreds of times faster than the original Excel model. At the same time, the model designer still enjoys all of the original flexibility and power of Excel any time the model needs to be tweaked or modified in any way.
Translator++™ for Excel offers several major benefits besides its speed of processing. For many people and businesses these benefits are even more important than the dramatic improvement in speed of calculations. These benefits include:
Translator++'s for Excel output, a DLL file, can be used on other systems. This DLL runs virtually as fast as if an expert programmer had rewritten the Excel model in C++. It is also portable across all Windows platforms. So, your model – no matter how sophisticated – can run on any Wintel system, which has the Translator++™ for Excel run-time license installed. Because Translator++™ for Excel generates C++ code, the code can also be ported to any system, although the commercial version of the product only creates Windows DLL files.
A model consists of:
A model may be based on many thousands of cells, and contain linked spreadsheets with VBA modules and add-in functions. Translator++™ for Excel neatly converts all of these logical components of the original Excel-based model into a single function, which takes the inputs and returns the outputs. DLL Tester ensures that your original Excel model and the programming code generated by Translator++™ for Excel produce identical results.
This is an auxiliary application that conveniently assembles and runs Excel translated DLL components and facilitates model building and testing. With Model Builder , you can create elegantly designed complex models, comprised of other models used as building blocks. Those building blocks are connected to each other by setting input variables of one component equal to the output variables of other components.
To calculate the results, the model may be given inputs, which the product stochastically generates using statistical distributions, produces as a result of dependencies on inputs and outputs from other components, or feeds from external sources.
For additional information about these functions see Translator++'s for Excel User Guide. These functions are listed in the 2 tables below. For more information about these distribution functions consult LOSS MODELS: >From Data To Decisions by Stuart A. Klugman, Harry H. Panjer, and Gordon E. Willmot; ISBN: 0471215775; Wiley-Interscience; 2nd edition.
Beta Transformed; Normal; Burr; Paralogistic; Burr Inverse; Paralogistic Inverse; Exponential; Pareto; Exponential Inverse; Pareto Generalized; Gamma; Pareto Inverse; Gamma Inverse; Pareto Simple; Gamma Transformed; Uniform; Gamma Transformed Inverse; Weibull; Loglogistic; Weibull Inverse; Lognormal.
Poisson; Binomial; Negative Binomial.
The binary code that is created by Translator++™ for Excel is in a computer-executable binary file, which people cannot read, unless with a major reverse-engineering effort. This binary code can be easily distributed to the model's end users, instead of the original spreadsheet. No longer do you need to worry about users inadvertently (or maliciously) breaking the spreadsheet by accidentally entering data into cells or adding rows or columns, without fully understanding the implications of such modifications. With Translator++™ for Excel, such mishaps simply cannot happen.
By the virtue of generating the binary code, which humans cannot read, your proprietary algorithms are now kept from prying eyes, allowing for safer and wider distribution of your intellectual property.
Translator++™ for Excel works with virtually any Excel spreadsheet. Its patented technology has been proven in the field and has been successfully utilized by a number of large financial institutions. All you need to do to create a binary model is to specify the input and output cells or ranges of cells in your original Excel spreadsheet, then click the "Translate" button.
Translator++™ for Excel emulates in code all of Excel's built-in functions, except for those dealing with Excel properties which are meaningless in modeling. When a spreadsheet calls any sequence of Excel functions, Translator++™ for Excel creates an appropriate sequence in C++ code, which is then compiled and linked. Translator++™ for Excel also adds a few important statistical distribution functions, making certain repetitive and frequent modeling tasks in the areas of financial and risk analysis easier and faster to implement.
No problem. A DLL compiled by Translator++™ for Excel would call the same Analysis Toolpak functions that are called in the original spreadsheet.
Yes. Add-in functions, when used in the Excel model, are translated as well. Keep in mind that any VBA code or add-in, which deals with Excel objects such as Excel version or Worksheet name, makes no sense in the context of the translated model (it is no longer an Excel spreadsheet with its associated objects). No conversion is required for such functions or VBA code. This has no effect on the results of the translation. Translator++™ for Excel is an industrial strength product for sophisticated modeling in an MS Windows environment, and it handles add-ins, which are subject to conversion. The only caveat may come into play in a non-standard setting of porting the converted model to a platform other than Windows, for which you will need a library written for that platform that performs the same functions as the Windows Excel add-in.
Translator++™ for Excel handles VBA code as well. VBA code gets converted to C++, compiled and linked into the output binary executable file.
Practically all spreadsheets compile “as is.” In the wonderful world of computers, however, nothing is guaranteed 100%. There still is a small probability that some special conditions might require small workaround changes, such as renaming a sheet or a range in a workbook to avoid overlapping keywords or symbolic names. An unusual situation might arise when a spreadsheet won't compile at first. If that should happen, Translator++™ for Excel would conveniently point you to all cells containing the formulas or producing the expressions that it cannot recognize. Fortunately, Excel's flexibility allows any task to be achieved by a variety of different means, so it's easy to find a way to modify the spreadsheet to get it translated in those rare cases when it doesn't translate right away.
The product is very easy to use. Simply specify a few obvious things, such as which cells or ranges contain the model's inputs, which cells or ranges hold the model's output results, what file name to assign to the new model (i.e. to the executable DLL), and where to save the new file. Then, push a button and in mere seconds you're done. The actual process may take from a split second to a few minutes, depending on the size and complexity of the Excel model.
The function can return a single number, or a range of cells, as an array formula. It's OK to mix the output types, so that some of them could be single cells, while others would be ranges of cells. Also, Translator++™ for Excel can generate C++ code, which you may decide to port to a different platform, such as a Blackberry PDA or a powerful Unix server, for example.
That's not a problem either. Every input can be either a single cell or a range. It's perfectly OK to mix them so that some inputs are single cells and the others are ranges.
Concentrate on the substance of the model (its logic and math) and do not spend time on visual embellishments, such as the use of color, fonts and other visual formatting. You are not planning to use the Excel model, anyway, so such visual effects are really extraneous, unless you use them purely to help you with the model's creation.
It does not take long at all: split seconds to minutes, which mostly depends on the size and complexity of the workbook. A very large, multi-megabyte workbook can be translated in a few minutes. A workbook that's a few hundred kilobytes in size takes just a few seconds. In any case, regardless of whether it takes a few seconds or a few minutes, the process is completed practically instantly, when compared to the time it takes to rewrite the model in C++ manually.
You can think of Translator++™ for Excel as being a robotic programmer, capable of delivering the same results as a tiger team of programming experts; only it's a lot faster, a lot cheaper, and doesn't make programming mistakes. It does not take the modeler's time and effort trying to explain the underlying algorithms, doesn't go out to lunch and does not go on vacations. As a programmer, Translator++™ for Excel is a “one-trick pony” (as in Paul Simon's song) – all it ever does is translate Excel-based models into fast machine code. But it does it with style, with truly robotic precision and efficiency, which humans, alas, can't match. So, instead of trying to compete with computers in speed and precision, things that computers do best, humans should devote their imaginative creativity (which computers simply lack) to creating even better automation.
In addition, when you have programmers convert the spreadsheet to C++ code, you need to worry about two major sources of potential errors: one is the model itself and the other is its C++ implementation. This means that your Quality Assurance (QA) team would have to spend time and effort testing and verifying both the C++ code, as well as the original spreadsheet's algorithms. When you use Translator++™ for Excel, such code auditing is out of the picture altogether, as the DLL Tester , an auxiliary application supplied with Translator++™ for Excel, automatically tests the results produced by the binary model against the results calculated by the original Excel model. Often, the QA auditors are more likely to be expertly familiar with examining the spreadsheets' algorithms than they are with auditing the C++ code. All in all, Translator++™ for Excel creates many exciting new win-win situations for your company's pool of talent and, most certainly, for its bottom line.
The key benefit of encapsulation is that the model (as represented by its DLL) can be reused many times in many other spreadsheets, without having to reuse in them the copious amounts of copy-and-paste information from the original spreadsheet. Thus, each encapsulated model may be easily reused as a building block for new, more complex models. As a result, the number of cells in the complex spreadsheet model may be reduced from several thousand to just a handful, making for powerful, well-structured, simple, flexible and elegant model design.
Translator++™ for Excel is a perfect example of an “Expert System”, which exist in many other areas of human endeavor, such as medical or technical diagnosis, linguistics and translation of text from one language to another, and so on. The creators of Translator++™ for Excel were fortunate to work “in the trenches” of the insurance and finance industry battling the industry's most challenging modeling tasks. It is there that they saw the tremendous demand and rapidly growing market for such an expert system and where they created and applied this expert system with dramatic improvements in productivity. Translator++™ for Excel is a product whose time has come.