Developers of trading strategies know that being able to compare the performance parameters of tested trading strategies is crucial. Trusted backtest is necessary. However, this is not a sufficient prerequisite for successful business strategy development. The second step is to diagnose the performance parameters of the tested trading strategy, thus interpreting the results obtained by the backtest. For these purposes, we have created our own simple and transparent application.
The reporting application delivers results such as cumulated yield, maximum drawdown, Sharpe Ratio, as well as the behavior of these variables for the underlying asset, thus creating the context of the strategy being developed. The performance variables that the postpro library calculates are shown below:

Cummulative returns final skew
Max drawdown strategy kurtosis:
Max drawdown underlying Nr of profit trades
Annual return strategy Nr of loss trades
Annual return underlying Risk reward ratio
Annual volatility strategy Cummulative pnl final
Annual volatility underlying Start cash
Calmar ratio Gross profit
Omega ratio Gross loss
Sharpe ratio Profit factor
Sortino ratio Avg. trade net profit
Excess sharpe Avg. winning trade
Alpha Avg. losing trade
Stability of timeseries Largest winning trade
Tail ratio (calculated from percent cummulative) Largest losing trade
value_at_risk Percent profitable
conditional_value_at_risk Shapiro P value

If you are interested in using this library, please feel free to contact us. A sample report is available here.

Michal Dufek


The article describes a software application from the area of Financial Research Software whose purpose is to look for trade opportunities in financial markets. The software is designed for analysts and portfolio managers, traders with securities, alternative fonds, Fond of Qualified Investors and banks asset management departments. The added value is not only the top-notch sophisticated tools for data analysis, statistics and likelihood but also the fact that the users are given a ready-made workflow of individual trading approaches where anyone can participate in using trade opportunities which are offered in the global financial market.

Trading systems behaviour simulation software

Today’s post will take a look at the creation of our team from a different angle. Our team is the developer of a software application (so-called Financial Research Software) which will be used for seeking trade opportunities and their testing. This application can be used by all analysts and portfolio managers, traders with securities, alternative fonds, Fond of Qualified Investors and banks asset management departments. The application does not bring only another tool for effective financial assets management – the main objective of the application is to bring users a workflow which will intuitively guide through the world of professional data analysis, statistics and also likelihood and trading with the aim to take the maximum advantage of trade opportunities which appear in global financial markets.

In the beginning, it is right to realise that looking for trade opportunities and building of trading systems is a very complex process which includes activities from various areas (so-called building blocks). For this reason, to identify and classify individual “building blocks”, we create two categories, horizontal and vertical scaling which can help us understand application operation.

Horizontal scaling

The aim of horizontal scaling is to cluster trade opportunities according to trading approaches. A trading approach is a style (with a little exaggeration – a trade model) by which a trader is trying to reach profit. An example can be the relative values trading approach that can include different types of arbitrages, long/short strategies, pair-trading etc. What all these approaches have in common, is a fact that the trader looks for pairs of financial assets which have some “economical” bond between each other and watches mutual (relative – herby the name relative values) determination of these two assets. In the situation when there is a distortion between relative assessment, the trader finds a trade opportunity (so-called their market) and this situation is used by opening trading positions which benefit from gradual disappearance of this “error” in determination (above mentioned as distortion). This scheme illustrates situations which happened after the fall of Lehman Brothers. There was a situation in the market when, due to global tensions and increased volatility, the prices of CDS on Czech government bonds were higher them prices of CDS on bonds of a Czech company called ČEZ. Looking at this from the theory perspective which says that “risk of one company” = “risk of the country in which the company trades” + “specific risk of the industry/particular company”, this situation proves to be nonsensical. At the moment when more such stress situations appear, also more trade opportunities appear. For the user, the motivation of the relative values module is to find these distortions in the real-time and use trade opportunities which these situations offer. Notice that this schematic description of revealing the process and using the trade opportunity does not include anything about “prediction of the future value”. Traders often concentrate too much on “prediction and forecasting” of the future values, however, going through this extremely difficult discipline is often not necessary, as the mentioned example shows.
The application is constructed in such a way that 1 trading approach = 1 module. Trading approaches used in this application are:

Vertical scaling

Besides trade opportunities, there is a multitude of other areas (building blocks) which contribute to revealing trade opportunities, creating trading systems or increasing their efficiency. Vertical scaling divides a trading system into building blocks which have a specific role within it. These blocks can be in the intermediate step clustered into areas which technically contribute to the creation and management of trading strategies (trading, portfolio optimisation, statistics and likelihood). The purpose of vertical scaling is to illustrate the continuity of work (= continuity of applications of individual methodical bundles/blocks) when creating a trading system. Blocks which are considered in the application are:



input rules Trading
money management
risk management
output rules
models describing a particular time series Statistics characterising dependence behaviour of price and achieved results
persistence of time series development
approximated time series entropy
continuous optimisation of financial assets included in the portfolio to minimise risk/maximize return Portfolio optimisation

Team character

The paragraphs above show that our team is not focusing only on trading even though it dedicates its efforts on topics close to trading. Execution, position management and output rules are of course an inseparable part of our job but it is actually only one of the areas we deal with. Areas our team deals with are closely connected with creating an application which includes modules for testing and building trading blocks where 1 module = 1 trading approach. Each trading approach can, of course, generate a lot of trading systems (strategies).


By all of this, users (analysts/portfolio managers) are given a robust tool which can help find and use trade opportunities until their termination in order to find a new opportunity as soon as possible. As the saying goes: „strategies die, skills survive“.

We took part in the E-commerce 4.0 conference which was held in Microsoft in Prague on the 15th April 2019. Vláďa Vacula presented MTA software which gets and analysis users’ opinions from a selected segment of products. For example, in the POC version, we have downloaded and analysed over 1 million reviews for products from the segment of digital cameras and mobile phones.

The conference brought important feedback and new leads. Eshop representatives were primarily interested in the possibility to get information about products which they are planning to introduce in their portfolio.

Vláďa Vacula in Panel Discussion

Vláďa’s presentation can be viewed at Slideshare, the report from the conference is available at

We have downloaded over 1 million reviews in the digital camera and mobile phone segment. The number of products and reviews in our dataset is constantly increasing.

Learn more about technologies for obtaining and analyzing users’ opinions on products at E-commerce 4.0 conference. 15. 4. 2019 in Prague at Microsoft,

Vladimír Vacula

We are preparing website. First we started showing the outputs of our “Financial research software” team on the wordpress page and then reorientated to a comprehensive Analytical Platform.


An investment strategy is basically a list of exact rules (algorithm), which defines investment decisions (buy and sell orders), can analyze and manage real-time risks based on current market situations. Investment decisions can be divided into two groups – entry rules for opening investment positions and exit rules for closing investment positions. Our research department uses a method which takes these two rule categories and applies different development attitude on each of them.

Standard old-fashioned approach

Standard old-fashioned development approach is based on using financial experts’ rules what depends on experience, knowledge and personal attitude. These entry and exit rules are usually very subjective and may lack a deeper analysis of various datasets (news, fundamentals, technical, psychological). However, it doesn’t mean that an investment algorithm containing these rules is wrong and can’t generate profit in a long-term period. It can be very robust and stable.

New era approach

Our research department loves new technologies which can help to deliver higher and more stable performance, lower drawdowns with a shorter recovery period, better Sharpe ratio and other key performance metrics. Current research is focused on implementing machine learning and genetic programming to investment strategies – specifically to improve the effectiveness of the exit rules. We use a few simple entry rules defined by a financial market expert (old-fashioned approach), but exit rules are generated by modern technologies for deep analysis of different datasets. Exit rules contain simple or sophisticated patterns founded by genetic programming and machine learning, but this whole approach is still under expert control and each rule is validated with strict conditions to avoid over-fitting.

Customers will be able to benefit from these algorithms by using them directly on their own accounts through specialized trading platforms or by investing in the big funds which will use these algorithms.


Our vision is based on improving human skills with data analysis technologies and deliver higher and more stable performance. We are not trying to take-over human decisions, but we are trying to make them better.

If you are interested in more information stay tuned to our website or get in touch! It would be a pleasure to invite you for an meeting at our office.

Michal Dufek