Избранное трейдера antonbell
После относительно спокойного августа сентябрь обещает пощекотать инвесторам нервы. Предвыборные дебаты кандидатов в президенты США, почти ежедневное присутствие в календаре заседаний центробанков G20 и встреча стран-производителей нефти в Алжире, запланированная на 26-28 сентября, — таковы основные события месяца. Если добавить тот факт, что первый месяц осени является единственным в году, когда S&P 500 начиная с 1928-го закрывался в минусе, то становится понятно, что вероятность повышенной турбулентности высока как никогда. Чем она обернется для валют первой десятки?
Месячная динамика S&P 500
Источник: Bloomberg.
С 1999-го по 2015 год в сентябре складывались благоприятные условия для американского доллара. В то же время его преимущество было явным лишь по отношению к «европейцам», а товарные валюты и иена оказывали гринбеку упорное сопротивление. В свете повышения вероятности ужесточения денежно-кредитной политики ФРС текущий год вряд ли станет исключением из правил. Если, конечно, свинью индексу USD не подложит отчет о состоянии рынка труда США за август.


Статья из блога "Trading with Python" об элементарной стратегии, которая демонстрирует последовательный подход к разработке алгоритмов.
Недавно я прочел пост на сайте turingfinance.com "Как стать квантом". Вкратце, он описывает научный подход к созданию торговых стратегий. Для меня, наблюдение за данными, обдумывание модели и формирование гипотезы является второй натурой, как это и должно быть для любого хорошего инженера.
В данной статье я собираюсь показать такой подход по шагам, которые нужны для разработки стратегии.
Давайте возьмем наиболее популярный инструмент — S&P 500 ETF «SPY». Начнем с наблюдений.
Обзор данных
Мне кажется, что большую часть времени в СМИ говорят об обрушении рынков (больших потерь в течение нескольких дней), умалчивая о значительном росте, который следует за ними.
Тест стратегии из поста http://smart-lab.ru/blog/343965.php
Формализовал стратегию так, как я ее понял.
1. Входа на следующий день, после обновления исторического хая. Тут есть неточности — историю брал с 2005 года. Не факт, что all time high был на этом промежутке.
2. Предыдущее обновление хая было больше 90 дней назад и менее чем 200 дней назад.
3. Примерно 500 ликвидных бумаг с NYSE/NASDAQ/AMEX. Без учета делистинга, без учета комиссий, без учета платы за плечо. Вроде бы без дивидендов (не уверен), дейли дата взята с Google Finance.
4. Стоп в примере — 3%. Тейк — 90%. Можно взять больше стоп, результаты не критично меняются.
5. Вход фиксированным BP на позицию. (взял 1000 на позу)
Код Multicharts.Net
using System;
using System.Drawing;
using System.Linq;
using PowerLanguage.Function;
using ATCenterProxy.interop;
namespace PowerLanguage.Strategy {
public class _INTEST_by_high_daily : SignalObject {
public _INTEST_by_high_daily(object _ctx):base(_ctx){}
private IOrderMarket buy_order;
private IOrderMarket sell_order;
double previous_high;
double previous_high_low_range;
double all_time_high;
protected override void Create()
{
// create variable objects, function objects, order objects etc.
buy_order = OrderCreator.MarketNextBar(new SOrderParameters(Contracts.Default, EOrderAction.Buy));
sell_order = OrderCreator.MarketNextBar(new SOrderParameters(Contracts.Default, EOrderAction.Sell));
}
protected override void StartCalc() {
all_time_high =0;
}
protected override void CalcBar()
{
// strategy logic
if (Bars.High[0]>previous_high && previous_high_low_range<previous_high && previous_high == all_time_high)
{
buy_order.Send();
}
if (StrategyInfo.MarketPosition>0 && Bars.Close[0]>StrategyInfo.AvgEntryPrice*1.9)
sell_order.Send();
previous_high = Bars.High.Highest(200);
previous_high_low_range = Bars.High.Highest(90);
if (Bars.High[0]> all_time_high) all_time_high = Bars.High[0];
}
}
}




> list.files(«E:/syst/lib»)
[1] "_algo_ algotrading.pdf"
[2] "_algo_ IntroductionToAlgorithmicTradingStrategies.pdf"
[3] "_algo_ stan.pdf"
[4] "_bayes_ applied bayesian modelling.pdf"
[5] "_bayes_ bajesovskie seti… logiko-veroyatnostnyj podxod.djvu"
[6] "_bayes_ bayesian statistical modelling.pdf"
[7] "_bayes_ BayesNets.pdf"
[8] "_bayes_ байесовские методы маш обуч.pdf"
[9] "_bayes_ введение в методы байесовского статистического вывода.djvu"
[10] "_caus_ Application of adaptive nonlinear Granger causality.pdf"
[11] "_caus_ Causalities of the Taiwan Stock Market.pdf"
[12] "_caus_ granger causality — theory and applicts.pdf"
[13] "_caus_ grangercausality.pdf"
[14] "_caus_ sugihara-causality-science.pdf"
[15] "_caus_ Причинный анализ в статистических исследованиях.djvu"
[16] "_change_ adaptive filtering and change detection.djvu"
[17] "_change_ detection of abrupt changes.pdf"
[18] "_change_ Efficient Multivariate Analysis of Change Points.pdf"
[19] "_change_ nikiforov_i_v_posledovatelnoe_obnaruzhenie_izmeneniya_svoist.djvu"
[20] "_change_ zhiglyavskii_a_a_kraskovskii_a_e_obnaruzhenie_razladki_sluch.djvu"
[21] "_change_ адаптивный метод обнаружения нарушений закономерностей по наблюдениям.pdf"
[22] "_change_ Момент разладки Чернова.pdf"
[23] "_change_ обнаружение изменения свойств сигналов и динамических систем.djvu"
[24] "_change_ обнаружение моментов разладки случайной последовательности.pdf"
[25] "_change_ обнаружение нарушений закономерностей по наблюдениям при наличии помех.pdf"
Для большинства не слишком искушенных трейдеров ценовые движения рынка представляют собой полностью случайное, броуновское движение. Почему это так, я попытался раскрыть здесь: http://anatoly-utkin.livejournal.com/16424.html. Если бы не было комиссий, то динамика счета такого трейдера также была бы броуновской, и он жил бы долго. При наличии комиссий происходит плавное сползание счета, то есть время на обучение ограничено. Но есть еще одна, очень существенная опасность для счета “броуновского” трейдера–это взятие плечей, и в настоящей статье я бы хотел пояснить существо этой проблемы.