Translate this page:
Please select your language to translate the article


You can just close the window to don't translate
Library
Your profile

Back to contents

Cybernetics and programming
Reference:

Using Wealth Lab software for technical and graphical analysis to evaluate effectiveness and appliance of the trading algorithm

Milovanov Maksim Mikhailovich

Senior Lecturer, Siberian State Industrial University

654007, Russia, Kemerovskaya oblast', g. Novokuznetsk, ul. Kirova, 42

mirovan@narod.ru
Other publications by this author
 

 

DOI:

10.7256/2306-4196.2015.3.15411

Received:

29-05-2015


Published:

14-06-2015


Abstract: Modern software allows using technical and graphical analysis to build charts and predictions based on the technical indicators and oscillators. The article describes a technique of making a trading algorithm for stock market using Wealth Lab. The author reviews features of Wealth Lab and describes trading algorithm using standard indicators available in Wealth Lab. The article gives and analysis of the developed algorithm and shows the evaluation of its effectiveness based on the gathered data. Observation is the main method of the study. The author observes a set of data, described by the price and time. Since stock market is constantly changing, it is urgent to have an accurate trading algorithm to make a profit. Applying software allows to evaluate the algorithm. Using techniques of finding the optimal solution of the problem of selection of the parameters, such as exhaustive search and Monte Carlo method, author gathers all data needed. The Wealth Lab allows to test the algorithm using C#, find parameters using optimizer and build charts using build-in methods to evaluate the performance of the algorithm visually.


Keywords:

Monte Carlo method, optimal solutions, software, technical analysis, algoritm, economic, futures, stock market, optimization, prediction


Для оценки и прогнозирования поведения линейного финансового актива (акции, индекса, фьючерсов и т.д.) используется в основном два подхода – фундаментальный и на базе технического анализа. Фундаментальный анализ руководствуется качественным и количественным анализом отчетности компаний, технический анализ позволяет прогнозировать поведение изменения цены актива на основе закономерностей, основанных на изменениях цен в прошлом.

Рассмотрим на примере построения торгового алгоритма, каким образом можно спрогнозировать поведение финансового актива, руководствуясь только техническими индикаторами. В качестве примера возьмем два индикатора:

1) трендовый индикатор ADX, который указывает направление развития ценовой тенденции. В его основе лежит две составляющие:

- +DI — значение индикатора позитивного направления движения цен (positive directional index);

- -DI — значение индикатора отрицательного направления движения цен (negative directional index).

.png_01

где N – количество периодов

2) индикатор CCI, основанный на вероятном отклонении простой скользящей средней от характерной цены:

.png_02

где

.png_03

Как известно, чтобы система обладала свойством робастности, т.е. нечувствительности в отношении к выбросам, а как следствие устойчивостью в будущем, не должно быть слишком много параметров. Для нашей системы, основанной на индикаторах, такими параметрами будут:

  • период индикатора CCI,
  • период индикатора ADX.

При этом для индикатора CCI сигналом на вход в длинную позицию будет нахождение выше отметки 100, в короткую позицию — нахождение ниже отметки -100. Для индикатора ADX должно выполняться условие — ADX[bar] > ADX[bar-1], т.е. абсолютное значение индикатора должно увеличиваться. Чтобы попасть в начало тренда, вход в позицию должен быть когда значение индикатора ADX меньше 20. Все позиции закрываются в конце вечерней сессии. Из длинной позиции выход осуществляется, если значение индикатора CCI меньше -100, из короткой, если CCI больше 100. Стоп-лосс будет равен 500 пунктам. В качестве инструмента используется фьючерс на индекс РТС, таймфрейм – 15 минут.

Моделирование и оптимизация параметров алгоритма осуществляется в пакете Wealth Lab (Таблица 1).

Таблица 1. Тестирование и оптимизация

.png_04

Данные в таблице оптимизации отсортированы по параметру Net Profit, т.е. общая прибыль. Для выбора оптимальных параметров системы обратимся к 3D-диаграмме зависимости индикаторов и прибыли (Рис. 1).

.png_05

Рис 1. Зависимость параметров ADX, CCI и прибыли

Исходя из тестов, система имеет оптимальные параметры:

- если период индикатора ADX лежит в пределах 40-60

- если период индикатора CCI лежит в пределах 40-110.

Причем, доходность системы с изменением периода индикатора ССI, изменяется не значительно. Применим данные параметры для получения кривой equity и анализа просадки.

Данные в таблице оптимизации отсортированы по параметру Net Profit, т.е. общая прибыль. Для выбора оптимальных параметров системы обратимся к 3D-диаграмме зависимости индикаторов и прибыли (Рис. 2).

Исходя из тестов, система имеет оптимальные параметры:

- период индикатора ADX лежит в пределах 40-60;

- период индикатора CCI лежит в пределах 40-110.

Причем, доходность системы с изменением периода индикатора ССI, изменяется не значительно. Применим данные параметры для получения кривой equity и анализа просадки (Рис. 2, 3, 4).

.png_06

Рис. 2. Кривая доходности системы (на один контракт)

.png_07

Рис. 3. График просадки системы

.png_08

Рис. 3. График распределения прибыльных/убыточных сделок

Созданный алгоритм прогнозирования вполне эффективен и даёт положительную доходность, обгоняя индекс. Пакет Wealth Lab позволяет, используя язык C#, протестировать алгоритм, с помощью оптимизатора определить параметры, а встроенные функции построения графиков оценить работу алгоритма визуально. Использование методов поиска оптимального решения задачи подбора параметров, таких как полный перебор и метод Монте-Карло, позволяет получить необходимые данные для применения. Пакет Wealth Lab позволяет, используя язык C#, протестировать алгоритм, с помощью оптимизатора определить параметры, а встроенные функции построения графиков оценить работу алгоритма визуально.

References
1. Milovanov M.M. Primenenie refleksivnogo analiza kak osnovanie dlya kratkosrochnogo prognozirovaniya povedeniya finansovykh rynkov // Teoreticheskaya i prikladnaya ekonomika. — 2015.-№ 1.-S.1-9. URL: http://e-notabene.ru/etc/article_14069.html
2. Milovanov M.M. Prognozirovaniya povedeniya instrumentov finansovykh rynkov s pomoshch'yu refleksivnykh protsessov//Elektronnyi nauchnyi zhurnal "Finansy i uchet".-2014.-Vypusk 4(26) Oktyabr'-Dekabr'. S. 21-23. [Elektronnyi resurs]. – Rezhim dostupa: http://www.finance-and-accounting.ingnpublishing.com/
3. Milovanov M.M. Primenenie tekhnicheskogo analiza dlya issledovaniya vnutridnevnykh trendov. Teplotekhnika i informatika v obrazovanii, nauke i proizvodstve: sbornik dokladov IV Vserossiiskoi nauchno-prakticheskoi konferentsii studentov, aspirantov i molodykh uchenykh (TIM’2015) s mezhdunarodnym uchastiem, posvyashchennoi 95-letiyu osnovaniya kafedry i universiteta (Ekaterinburg, 26–27 marta 2015 g.). – Ekaterinburg: UrFU, 2015. – 264 s.
4. Milovanov M.M. Informatsionnye tekhnologii. Elektronnyi uchebno-metodicheskii kompleks / Elektron. dan.-Novokuznetsk: SibGIU, 2014.:il.-1 elektronnyi DVD disk (DVD-ROM); № gos. registratsii 032140093
5. Milovanov M.M. Primenenie refleksivnogo analiza kak osnovanie dlya kratkosrochnogo prognozirovaniya povedeniya finansovykh rynkov // Teoreticheskaya i prikladnaya ekonomika. - 2015. - 1. - C. 1 - 9. DOI: 10.7256/2409-8647.2015.1.14069. URL: http://www.e-notabene.ru/etc/article_14069.html
6. Labkovskaya R.Ya., Kozlov A.S., Pirozhnikova O.I., Korobeinikov A.G. Modelirovanie dinamiki chuvstvitel'nykh elementov gerkonov sistem upravleniya // Kibernetika i programmirovanie. - 2014. - 5. - C. 70 - 77. DOI: 10.7256/2306-4196.2014.5.13309. URL: http://www.e-notabene.ru/kp/article_13309.html
7. G.S. Rasnyuk Tekhnicheskii analiz
kak instrument prinyatiya
portfel'nykh reshenii // Nalogi i nalogooblozhenie. - 2013. - 3. - C. 228 - 234. DOI: 10.7256/1812-8688.2013.03.7.

8. Malashkevich I.A., Malashkevich V.B. Effektivnyi algoritm detsimatsii dannykh // Kibernetika i programmirovanie. - 2013. - 5. - C. 1 - 6. DOI: 10.7256/2306-4196.2013.5.9697. URL: http://www.e-notabene.ru/kp/article_9697.html