Software functionality is not copyrightable

Great news.

The EU Court of Justice has ruled that one can’t copyright a computer program’s functionality. Further, they state: “The purchaser of a licence for a program is entitled, as a rule, to observe, study or test its functioning so as to determine the ideas and principles which underlie that program.”

Here is the article on Groklaw:


Posted in Uncategorized | Leave a comment

Why companies should not outsource IT support

Most big companies do not maintain their IT infrastructure by themselves. Instead, they outsource this job to another company, which usually calls itself a solution provider. A single solution provider can take care of IT resources of many different companies.

The outsourcing company usually claims that keeping their own IT support team would be more expensive than outsourcing. I believe this is a fallacy, and here is why.

Continue reading

Posted in Uncategorized | Leave a comment

“Risky” zero rate curve

Here is a small example of how one can calculate a risk-adjusted zero rate, given a risk-free zero rate and CDS premium.

Risky zero rate calculation example.

Posted in Uncategorized | Leave a comment

Software should not be patentable

Software patents never seemed to be a good idea. At last there is something to substantiate the claim that software should not be patentable. Here is a mathematical proof how US Patent 5,893,120 can be reduced to mathematical formulae, thus making it unpatentable under the US law.

In his other blog entry the author argues that, in fact, any software algorithm can be reduced to mathematical formulae, which are not patentable.

Posted in Uncategorized | Leave a comment

Diagonalising an intensity matrix of a reversible Markov chain

Recently I needed to build a Monte Carlo simulator of a continuous-time Markov chain. This is a pretty straightforward exercise; the only catch was that I wanted it to perform well, so I had to use a fast algorithm for matrix exponentiation.
Continue reading

Posted in Mathematics | Leave a comment

CVA calculation example

Let’s calculate CVA (credit value adjustment) analytically. We will see that analytical CVA calculation is quite complex even for a fairly simple transaction (a vanilla swap). A few shortcuts will help us simplify the calculation. Continue reading

Posted in Finance | Tagged , , , , , | 2 Comments

The dreadful 40-60 rule

When we have to calculate exposure at default (EAD) on a particular trade, we seldom have to compute it analytically (e.g. as shown here). More often we just take the current MtM of the trade and add the so-called add-on. The add-on is the notional amount of the trade multiplied by the coefficient specific to the trade type, underlying and remaining maturity:


where 20100302-M is the current MtM, 20100302-A is the add-on, 20100302-N is the notional amount and 20100302-a is the trade-specific coefficient.

This method works reasonably well for a single trade.

If we have several trades covered by a netting agreement, we have a problem. We cannot just calculate the exposure on a netted portfolio as a sum of exposures per trade: exposures are not additive. One way to tackle this problem is to use the 40-60 rule. This rule, however, is so seriously wrong that it becomes alarming how many people use it without thinking of its shortcomings. Continue reading

Posted in Finance | Tagged , , , | 1 Comment