Your Company Logo Here

support@blufftop.com

Research

We continue to have an interest in two areas of research.  These are highlighted below.

Generation of economic scenarios

Generation of "real-world" stochastic economic scenarios remains a topic of interest.  In the past Steve Strommen has authored a paper explaining the connection between "real-world" and "risk-neutral" scenario generation methods.  In addition, there is a paper on this web site outlining the construction of a "real-world" generator for what is commonly called the risk-free yield curve.

Short-term interest rates in the U.S. are controlled by the Federal Reserve.  The Federal Reserve focuses on two other measures - unemployment and inflation - when making changes to the short-term interest rate.  It seems logical that a "real-world" model for interest rates should include something about unemployment and inflation, because those might be significant drivers of changes in interest rates.

The Fed has a model that links interest rates, unemployment, inflation, debt levels, and other variables in a stochastic equilibrium.  Currently, the interest rate component of that model is not the short-term rate but rather a mid-term rate. 

An avenue of research is to adapt the Fed's model to make the interest rate component focus on the short-term rate, and then use that model's stochastic process to complete the yield curve based on movements of the short-rate as is done in the short-rate model for interest rates on this web site.  The resulting behavior of the yield curve over time could be compared with actual historical behavior and with other real-world models that simulate interest rates without any reference to other variables.

Software design for use of multiple processors

Modern computers have multiple processors on a single chip.  While each processor executes instructions sequentially, one can divide a task into several different processes that can be executed on separate processors at the same time, with results being combined when all tasks are done.  This is called multi-threading, and it can speed up execution time.

The kinds of software we are interested in, stochastic financial simulations and stochastic ecnomic scenario generation, can be designed to use multiple processors in this way.  But there are complex considerations that come into play and make optimizing such design difficult.  Research can clarify and overcome those difficulties.

For example, we have built a stochastic financial simulation model.  When running a large number of stochastic scenarios, each scenario can be assigned to a different processor.  But there is a problem with this approach.  Each scenario involves a very large amount of data.  The amount of data does not fit in the memory cache on most processor chips and therefore must be shuttled to and from RAM memory which resides other chips.  This causes two problems:

  1. It often takes much more time to move a piece of data from RAM to the processor's memory cache than to actually process that data.  A process that can work exclusively with data already in the processor cache can run much faster, but the processor cache is a fewmegabytes in size while RAM is gigabytes in size.
  2. While there may be many processor cores on one chip, there is only one set of data pathways between RAM and that chip.  If a lot of data is being shuttled back and forth, those data pathways become "data-bound" and increasing the number of processors on the chip does not increase speed.

We have found that assigning each scenario to a separate processor can speed up processing in a stochastic financial simulation model.  But only to a point.  We found that running more than four scenarios on four processors at the same time, the data pathways become "data-bound".  Attempting to use more processors at the same time did not result in faster runtime.

The same issue did not occur in a scenario generation application.  Each processor can be assigned to generate one scenario, and many scenarios can be generated at one time.  The amount of data involved in generating a scenario is much smaller and easily fits in the processor cache.  We have used as many as 24 virtual processors on a single chip to speed scenario generation without a problem.

The question of using GPUs (graphics processor units) for this purpose is worth pursuing.  GPUs have very large numbers of individual processors.  But the data cache per processor is small.  Research would be needed to determine application types and develop software designs that can take advantage of such hardware.

Current projects

Blufftop LLC is not currently involved in any research projects, but may resume work on the topics listed here or on other topics, depending on future developments, resources, and personal interest.