FxPaul

Math in finance or vice versa

Estimation of Exponential Ornstein-Uhlenbeck process

leave a comment »

In the previous article about process calibration we derived the following updating formula:
P_t - P_{t-1} = \left(\theta(\mu - \ln P_{t-1}) + \frac{1}{2} \sigma^2 \right) P_{t-1} \Delta t + \sigma P_{t-1} \sqrt{\Delta t} W_{t-1}
Now we can rearrange equation’s parts as follows:
\frac{P_t - P_{t-1}}{P_{t-1}} = \left( \theta\mu + \frac{1}{2} \sigma^2 \right) \Delta t - \theta\Delta t \ln P_{t-1} + \sigma \sqrt{\Delta t} W_{t-1}
Thus we can equate it against simple regression formula:
y = a + bx + \epsilon

Therefore, we obtain:
y = \frac{P_t - P_{t-1}}{P_{t-1}}
x = \ln P_{t-1}
b = - \theta\Delta t
a = \left( \theta\mu + \frac{1}{2} \sigma^2 \right) \Delta t
\epsilon = \sigma \sqrt{\Delta t} W_{t-1}
And this gives us the following OLS estimates:
\theta = - \frac{b}{\Delta t}
a = - b \mu + \frac{1}{2} \sigma^2 \Delta t
As it was in the previous articles:
\sigma^2 = \frac{\sigma^2_{\epsilon}}{\Delta t}
a = \frac{1}{2} \sigma^2_{\epsilon} - b \mu
And finally the estimation of \mu is:
\mu = \frac{\frac{1}{2} \sigma^2_{\epsilon} - a}{b}

Thus we obtained the estimation of exponential Ornstein-Uhlenbeck process.

Written by fxpaul

November 20, 2013 at 13:04

Posted in Uncategorized

Recommender systems – Intro

leave a comment »

Recommender System (RS) provides suggestions for items to be of use to a user. As the definition says we should define three pieces, i.e. item, user and useful suggestion.

Item is a general term that describes everything what RS recommends to users. It might be stocks, books, videos or anything else.

User of RS is usually an individual who doesn’t have enough experience or competence to make a decision of item choice. For instance, popular on-line book store Amazon provides recommendations based on what user bought and viewed in past.

To be useful suggestion (or recommendation) should support some decision-making process, like what book to buy, what news to read or what to do in a spare time. In the simplest form, it might be a ranked list of items. This ranking is way to predict what the most suitable items are for user behaviour.

RS should track how users interact with items. For instance, on the book store one might view a book title, look inside of the book and/or buy it. Viewing a title can be considered as an implicit sign of preference. Thus the usual recommender system has to deal with User, Item and User-to-Item actions (transactions).

For RS implementation to be successful it should achieve one or more business goals:

  • Sell more items
  • Sell more diverse items
  • Increase user satisfaction and fidelity
  • Understand user behaviour and habits

And those could be approached by implementation of few tasks:

  • Find some good items: Create a ranked list of items along with predictions of how much user would like them. This is the main task of many RS.
  • Find all good items: Create a complete ranked list of items. Usually it is required when number of items is small and user can benefit from ranking information. Such RS are quite common in financial application. They usually need to examine and to rank all possible scenarios.
  • Annotate items in context: Given an existing context, emphasise items based on long-term user preferences. For instance, such RS might emphasise TV shows in EPG based on previous user behaviour.
  • Recommend a bundle: Suggest a group of items that fits well together. You’ll find such bundles at cable internet providers, travelling agencies etc. For instance, airlines are starting to recommend accommodation and car hire during ticket purchase.
  • Recommend a sequence: Recommend a sequence of items that is pleasing as a whole. For instance, a recommended track of courses at the university might depend not only on chosen major, but also on the absolved courses.
  • Browsing: RS should help the user to browse items that are more likely in the user’s interest in this browsing session.
  • Improve user profile: This task is all-time task of RS. It collects information about user’s actions to provide more personalised recommendations.

That is pretty much what one can expect from such thing as recommender system. In next posts I plan to cover:

  • Overview of basic techniques
  • Clustering
  • Content-based RS
  • Collaborative filtering in RS

Written by fxpaul

November 6, 2013 at 16:11

Posted in Uncategorized

Tagged with

Book on Haskell and Financial Mathematics

leave a comment »

Most probably, you’ve noticed the blog was not updated last year. I’ve been writing a book about programming and financial mathematics.

It was not easy for me. When I got a proposal to write a book in this area, I was hesitating if it is something I was able to cope with. For fresh writer it is a daunting task as you should go under the schedule and try to write consistently, every day, at least half page of text. Some parts of book were easy to write as I already wrote about these topics. Some were awful to accomplish as I did not really understand how to explain math and its links to Haskell with a plain and clear language.

I’m quite sure that now I will start again writing this blog, though the new projects are quite far from financial math now but they are still in math and big data projects. Please, also check our new company website to see what is in progress now.

But finally it is out and available in book stores like Amazon, O’Reilly or Safari Book store:

Written by fxpaul

October 30, 2013 at 09:55

Posted in Uncategorized

Order book temperature

leave a comment »

The temperature is one of principal quantities in thermodynamics and it is a macroscopic intensive variable because it is independent of the bulk amount of elementary entities contained inside. Let’s try to move physical definition to trading world. Thermodynamics defines temperature as:
\frac{dS}{dE} = \frac{1}{T}
where S is entropy and E is internal energy of the system.

In statistical mechanics, entropy is a measure of the number of ways in which a system may be arranged, often taken to be a measure of “disorder” (the higher the entropy, the higher the disorder). This definition describes the entropy as being proportional to the natural logarithm of the number of possible microscopic configurations (microstates) which could give rise to the observed macroscopic state (macrostate) of the system. For sake of simplicity we assume the constant of proportionality equal to one:
S = - \sum_{n} {p_n \ln p_n}

Order book is in fact a set of all buy/sell orders. Let’s denote it as \left\{ \left\{ b_i : B_i \right\}, \left\{s_i : S_i \right\} \right\} where b (s) is price and B (S) is amount of contracts at given price of buy (or sell) orders. Let’s normalise it by total buy (Tb) and sell (Ts) contracts:
\left\{\left\{b_i : p_i = \frac{B_i}{Tb} \right\}, \left\{s_i : q_i = \frac{S_i}{Ts} \right\} \right\}
Thus the entropy becomes a sum of entropy of buy and sell sides:
S = -\sum_{b} p_i \ln p_i - \sum_{s} q_i \ln q_i

The internal energy is the total energy contained by thermodynamical system. It is the energy needed to create the system, but excludes the energy to displace the system’s surroundings, any energy associated with a move as a whole, or due to external force fields. Thus to create the order book one needs to have all money of buy side and to own securities of sell side. There could be doubts how to price securities of sell side but we’ll take the easiest approach:
E = \sum_s s_i S_i - \sum_b b_i B_i = \sum_s s_i q_i Ts - \sum_b b_i p_i Tb

Let’s try to derive a formula of temperature under the given assumption. At first, the total differentials of entropy and internal energy should be obtained:
dS = -\sum_{b} {(1 + \ln p_i)dp_i} - \sum_{s} {(1+\ln q_i) dq_i}
dE = d\left( \sum_s s_i q_i Tb - \sum_b b_i p_i Ts \right) = \sum_s s_i Ts dq_i - \sum_b b_i Tp dp_i

Then we can find derivative of entropy by energy by total derivative definition:
\frac{dS}{dE} = \frac{\partial S}{\partial E} + \sum_b {\frac{\partial S}{\partial p_i}\frac{dp_i}{dE}} + \sum_s {\frac{\partial S}{\partial q_i}\frac{dq_i}{dE}}
where
\frac{\partial S}{\partial E} = 0
\frac{\partial S}{\partial p_i} = 1 + \ln p_i
\frac{\partial S}{\partial q_i} = 1 + \ln q_i
\frac{dp_i}{dE} = \left(\frac{dE}{dp_i}\right)^{-1} = - \left(b_i Tb\right)^{-1}
\frac{dq_i}{dE} = \left(\frac{dE}{dq_i}\right)^{-1} = \left(s_i Ts\right)^{-1}
And substitution into the total derivative yields the formula for temperature:
\frac{1}{T} = \frac{dS}{dE} = \sum_s \frac{1 + \ln q_i}{s_i Ts} - \sum_b \frac{1 + \ln p_i}{b_i Tb}

Written by fxpaul

November 19, 2012 at 16:05

Posted in thoughts

Tagged with ,

Trading task in classic mechanics

leave a comment »

In physics, action is an attribute of system dynamics. By definition it is a functional over trajectory or history of the system:
S = \int_0^T L\left(q(t),\dot{q}(t),t\right) dt
where L is the Lagrangian. The real beauty of such description lies in developed and well studied mechanism of equation solutions.

Read the rest of this entry »

Written by fxpaul

February 10, 2012 at 09:20

Markov Chain for historical volatility

leave a comment »

In previous post we used Markov Chain to discover a behavior of historical volatility and find out the 3/2 rule for ups and downs of random variable.

Now let’s construct more complicated model with the following volatility changes as states in chain:

  1. Less than -25%: denote it as -100.
  2. From -25% to -15% : -20.
  3. From -15% to -5% : -10.
  4. From -5% to 5% : 0.
  5. From 5% to 15% : 10.
  6. From 15% to 25% : 20.
  7. More than 25% : 100.

Read the rest of this entry »

Written by fxpaul

November 22, 2011 at 22:32

Posted in trading math

Tagged with , ,

Markov chain for Geometric Brownian Motion parameters

leave a comment »

A Markov chain is a discrete-time random process with Markov property. Its components are states and probability transitions between them. Markov property states that the probability of next states depends only on the current state.

So Markov chain is a set of states and all transition probabilities between states.

Simple chain for drift

Let’s assume that estimation of drift parameter might lead to the following 2 states:

  1. Positive, i.e. drift is greater or equal zero
  2. Negative, i.e. drift is less than zero

So, one could construct Markov chain for these states as it shown below.

Simple Markov Chain

Read the rest of this entry »

Written by fxpaul

November 22, 2011 at 22:30

Posted in trading math

Tagged with