Избранное трейдера anvil
Добавили тут на днях в ТСЛаб возможность штатным образом случайные числа получать. В связи с чем возникла идея устроить небольшой стресс тест стратегиям, заменив имеющееся управление позицией выходом по рынку через случайное количество баров.
Я считаю, что то, что принято называть переоптимизацией, кроется как раз в управлении позицией. Если подумать, то в точке входа подгонки не может быть по определению. Ведь задача как раз найти такое соотношение параметров, которое работает в нашу сторону как можно чаще. И чем сильнее будет подгонка под идеальный сетап — тем лучше, тем точнее мы опишем желаемую ситуацию. А вот с выходом всё иначе. Тут уже есть конкретные точки входа и конкретный набор свечей на истории… И вот как раз тут может быть подгонка параметров стопа, тейка, трейлинга и т.п. под эти конкретные ситуации..
Подгонка может быть столь сильной, что за ней вполне может спрятаться полное отсутствие положительного смещения вероятности в точке входа…
Вот мне и стало интересно, что если выход из позиции будет произвольным? Тогда, по идее, значительный перевес положительных исходов может намекать на наличие положительного смещения вероятности в точке входа.
Для эксперимента взял 2 стратегии на Ri. Одна, проверенная девятью месяцами реала и подтвердившая свою профпригодность на сегодняшний день, и другая — простая, состряпанная на скорую руку, стратегия по скользяшкам с максимальным фиттингом (оптимизация точки входа одновременно с трейлингом по широкому диапазону параметров на всей истории за один проход). Везде стоит комиссия 20п.
Итак, изначальная эквити «проверенной» стратегии выглядит так:
ТСЛАБ+IB опыт торговли америки
Давненько не писал. Много работал.
0 Пишу про акции. Фьючи дороже. Там нужен счет от ляма грина и выше. В техническом плане связка Тслаб+IB весьма стабильна. Напрягает сильно 13-14ти часовой рабочий день с 10 утра до 23-24 ночи без праздников.
1 В марте 2017г появилась возможность протестить америку при помощи связки тслаб2+IQfeed. Что позволяло выйти на алготорговлю на америке. Где то к августу сформировалась общая картинка. В мае 2018 закинул 74000 баксов. И где то в конце июля стал торговать роботами под америку на связке тслаб2+ IB через TWS. Приоиграл -10к баксов из них где то больше половины на багах и глюках. Наработал опыт. Делюсь.
2 Сразу скажу что по деньгам это дорого и затратно. Тслаб 4000руб в месяц + IQfeed 7000руб + выделенный сервер в датацентре 5000 в месяц + 1500 расходы на IB. Чтоб просто посмотреть и торговать надо иметь расход в районе -18000 в месяц или -210к в год. Дорого вкрай. Чтоб расходы были хотяб на уровне <5% в год размер размер счета должен быть более 4мио руб.
--переменные keyRateCB = 7.5 classCode = "TQOB" function CreateTable() t_id = AllocTable() AddColumn(t_id, 0, "Бумага", true, QTABLE_STRING_TYPE, 15) AddColumn(t_id, 1, "Цена", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 2, "Доходность, %", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 3, "Дюрация, лет", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 4, "Купон, %", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 5, "Премия к ЦБ, бп", true, QTABLE_INT_TYPE, 15) AddColumn(t_id, 6, "Погашение", true, QTABLE_STRING_TYPE, 15) t = CreateWindow(t_id) SetWindowCaption(t_id, "ОФЗ") end function string.split(str, sep) local fields = {} str:gsub(string.format("([^%s]+)", sep), function(f_c) fields[#fields + 1] = f_c end) return fields end function getParamNumber(code, param) return tonumber(getParamEx(classCode, code, param).param_value) end function formatData(prm) return string.format("%02d.%02d.%04d", prm%100, (prm%10000)/100, prm/10000) end CreateTable() arr = {} sec_list = getClassSecurities(classCode) sec_listTable = string.split(sec_list, ',') j = 0 for i = 1, #sec_listTable do secCode = sec_listTable[i] securityInfo = getSecurityInfo(classCode, secCode) short_name = securityInfo.short_name if short_name:find("ОФЗ 26") ~= nil then j = j + 1 r = {} r["short_name"] = short_name r["price"] = getParamNumber(securityInfo.code, "PREVPRICE") r["yield"] = getParamNumber(securityInfo.code, "YIELD") r["duration"] = getParamNumber(securityInfo.code, "DURATION")/365 couponvalue = getParamNumber(securityInfo.code, "COUPONVALUE") couponperiod = getParamNumber(securityInfo.code, "COUPONPERIOD") r["coupon"] = ((365/couponperiod) * couponvalue)/10 r["bonus"] = (r["yield"] - keyRateCB)*100 r["mat_date"] = getParamNumber(securityInfo.code, "MAT_DATE") table.insert(arr, j, r) end end table.sort(arr, function(a,b) return a["duration"] < b["duration"] end) for j = 1, #arr do row = InsertRow(t_id, -1) SetCell(t_id, row, 0, arr[j]["short_name"]) price = arr[j]["price"] SetCell(t_id, row, 1, string.format("%.2f", price), price) yield = arr[j]["yield"] SetCell(t_id, row, 2, string.format("%.2f", yield), yield) duration = arr[j]["duration"] SetCell(t_id, row, 3, string.format("%.2f", duration), duration) coupon = arr[j]["coupon"] SetCell(t_id, row, 4, string.format("%.2f", coupon), coupon) bonus = arr[j]["bonus"] SetCell(t_id, row, 5, string.format("%.0f", bonus), bonus) mat_date = arr[j]["mat_date"] SetCell(t_id, row, 6, formatData(mat_date), mat_date) end
Добрый день!
Налоговая инспекция утвердила новую форму налоговой декларации 3-НДФЛ за 2018 год. Основание: приказ ФНС России от 03.10.2018 г. № ММВ-7-11/569@. Сам приказ пока не вступил в силу (начало действия документа – 1 января 2019 года). Скачать новую форму декларации можно будет позже.
Почему я обращаю внимание на этот документ? По завершении текущего 2018 года многие из вас будут обязаны отчитаться по полученным доходам, а кто-то будет претендовать на налоговый вычет. Давайте перечислим все возможные случаи, когда подается декларация 3-НДФЛ:
– получение дохода, из которого не был удержан налог налоговым агентом;
– получение дохода из-за рубежа;
– получение дохода от продажи имущества, находящегося в собственности менее трех лет;
– получение выигрыша;
– получение в подарок имущества не от близких родственников;
– необходимость получения налогового вычета в связи с расходами на приобретение или строительство жилья;
– необходимость получения налогового вычета в связи с расходами на лечение;
«Накопление первоначального капитала произошло стремительно, если не сказать взрывообразно. Сделал я в самом начале нулевых с друзьями несколько предприятий в сфере учета энергоресурсов «с нуля» в городе-миллионнике. И к 2004 году обзавёлся внушительной денежной суммой. Начал меня мучить вопрос: «Что с этими деньжищами делать?!»
Первое, что пришло в голову – вложиться в строящееся жильё. Ведь ни у кого нет нормального жилья. Сказано-сделано – прикупил квартир-однушек в домах на начальной стадии строительства в нормальной компании, с хорошей историей. Это был 2004 год.
В 2007 году жилые комплексы были готовы к сдаче и я квартиры продал. Мой первоначальный капитал существенно вырос.
И в начале 2008 года меня вновь начал мучить вопрос: «Что делать с ДЕНЬГАМИ?!» Когда-то в 1998 я неплохо сохранил свои первые накопления в долларах. 2008-1998-?! Осень-осень-?! Да, вот так нехитро я размышлял. И я купил летом доллары «на всё». Забил ими ячейки в нескольких банках. Когда мой капитал резко вырос, я все доллары продал. Просто не стал жадничать. Решил, что достаточно.