Подскажите пож., если кто знает — где можно скачать/купить фундаментальные данные по российским эмитентам — допустим сайт Conomy.ru — вот примерно такого плана и объема инфу, но в виде базы данных — скачал, а дальше развлекаешься с ней.
Мне это конечно для системно-алгоритмических изысканий. Одно дело с пустыми индикаторами из пальца высасывать закономерности, другое дело работать с фундаментальными данными. Основная проблема с фундаментальными данными (для меня по крайней мере) — это доступ к данным. Если данные будут в удобном виде, когда их алгоритмически можно разобрать, распарсить и использовать в рисече, бэктестах — это ж непаханное поле по закономерностям — в смысле, мной не паханное — профи, может, там уже все перепахали, конечно)).
В общем, если кто знает — буду благодарен за инфу по поводу того, где такие данные можно взять.
Поделитесь как дебажите код? — вернее, как проверяете на корректность работы в целом — ну типа каждый блок, каждый кусок кода отдельно и сразу при написании, или не сразу но отдельно, если не сразу, то когда? — не важно, стратегию ли кодите или софт.
Как у меня сейчас — пишу длинный код, потом пробую запустить, потом исправляю ошибки, которые мешают компилироваться)), потом ищу почему код вообще ничего не делает)), следующим этапом ищу, почему код что-то уже делает, но что-то какое-то совсем не то, что я от него ожидаю)). Может быть правильней будет каждый кусок кода отдельно и сразу тестить, в таком режиме мне мешает работать, видимо, подсознательная вера в то, что длинный код возьмет и сразу запустится без ошибок — к слову, такое бывает крайне редко.
Есть ли польза в общих фразах, теоретизировании, логических выкладках без жесткой привязки к практике – иногда да, иногда нет. Из за наличия этого «иногда да» узрите теоретический грааль!))
Алгоритмисты ищут закономерности, находят, со временем учатся отличать закономерность от случайности и подгонки на раз два, со временем, возможно, научаются понимать, как закономерности между собой взаимодействуют и почему, но сейчас попробую сформулировать максимально обобщенный теоретический грааль в трейдинге! – позовите ваших бабушек и дедушек к экрану.
У меня страсть к обобщениям.
Итак…
Есть некий финансовый инструмент, торгуемый на бирже – в данном контексте абсолютно не важно, какой именно инструмент. Что определяет движение цены – факторы и факты. Разделение на факторы и факты – полнейшая абстракция, на самом деле только факторы, просто на некоторых уровнях обобщения факторы становятся на столько низкоуровневыми, что называть каждый из них фактором становится некомфортно, поэтому можно вполне использовать термин «факты». Теперь чуть подробней)). Факторы. Сейчас будет аналогия. Не так, которая анонсирована в заглавии, но тоже аналогия. Корабль. С парусом. Корабль в открытом море и раскрыл (распустил? поднял? – не важно) свой парус. И есть ветра, разные, дуют с разных сторон, с разной силой, по разным причинам. Одни из-за разницы температур между сушей и землей, другие из-за разницы скорости остывания земли и воды, другие из-за течений, четвертые-десятые-стосемдесятпятые – по другим основаниям. Причины наличия ветров обуславливают их время действия, силу, стабильность, направление. И вот возвращаемся к кораблю. Этот парень отдан ветрам — то куда он плывет, зависит от того, какие ветра, с какой силой, с каких сторону дуют на него в моменте и дули какое-то время назад (создав ему инерцию). Какой-то ветер носит сезонный характер — дует 3 месяца в году, потом вообще не дует, какой-то дует всегда вечером и не дует утром. Существуют и порывы флуктуационного свойства в пределах одного ветра, они тоже влияют.
Всем привет).
В процессе углубления знаний языка C# пришла такая мысль, хочется получить обратную связь на предмет незамеченных подводных камней и аналогичного — буду благодарен.
Собственно: богатый арсенал языков программирования, а в частности C# — в т.ч. наследование и прочее, позволяют реализовать торгующий модуль какой угодно архитектуры, структуры, с нужными названиями классов, полей и методов. Посему, предположительно, можно написать такой проторговщик, который будет принимать код стратегий из Wealth-Lab как родной, без необходимости его менять, подгонять, править, дебажить, искать ошибки переноса и прочее. Все что я написал после слов «без необходимости» — как бы известные плюсы использования одного кода для тестов и торговли (наверняка, не все плюсы даже перечислил). Т.е. тут один раз качественно убеждаемся, что код интерпретируется полностью аналогично и всё — дальше Ctrl + C, Ctrl + V.
Или если можешь написать такой проторговщик, то проще и Велс свой написать и не иметь мозг?))
Что думаете? :)
UPD.: как это часто бывает, комментарии достаточно волатильно отходят от непосредственно затрагиваемого вопроса)), но все равно есть интересные мысли.
Очень-очень многие явления, процессы и системы в целом подпадают под модель: есть открытый внешний слой и скрытый внутренний. Данная модель конечно относительна — в том смысле что если ты часть системы — для тебя скрытый слой может быть ни таким уж и скрытым, или вообще не скрытым, а полностью понятным и прозрачным.
Открытый слой — это как некий интерфейс взаимодействия (он выдаёт инфу, а иногда и позволяет взаимодействовать с системой, опять же анализируя обратную связь на воздействия). Скрытый (темный слой) — внутренняя кухня системы, она закрыта для внешних пользователей, для внешних объектов. Как работает темный слой внешний пользователь дедуктивно никоим образом вывести не может, индуктивно — да — со всеми вытекающими плюсами и минусами индуктивных процессов. Плюс здесь наверно только один — это собственно сама возможность заглянуть за ширму и попробовать понять, как работает скрытый слой. Ну а минусы — легко набрести на заблуждения и прочие искажения информации разной степени ошибочности и критичности.
Ненавижу дебажить код.
Код стратегий, код чего угодно. По типу задачи (задача найти баг или оценить код на предмет: есть ли баги) – задача моя – т.е. я такое люблю – найди то, не зная что, так не зная как. Но блин – итак много задач, эти задачи они как бы не входили в твои планы, это как бы внеплановые задачи. Задача найти баги – плановая – но каждый конкретный новый баг – это внеплановая фигня – поэтому она напрягает. Это не задача, двигающая вперед, а задача, решение которой тебя возвращает в текущую точку развития после откидывания назад. Когда возникнет такая возможность, в первую очередь делегирую QA.
Больше меня напрягает искать баги когда нет формальных свидетельств их наличия. Код компилируется, трейды совершаются, но ты, блин, очень не уверен, что в таком объёме кода нет ни одного бага)). Приходится планомерно проверять корректность. Пожалуй я начинаю переходить именно к такому подходу: планомерно всё проверять, а не на финальном этапе вдруг выяснить, что «похоже, что-то работает не так как надо». Думаю, с опытом процесс будет всё системней, а как следствие данную систему можно оптимизировать и она будет протекать всё легче, всё менее затратней, всё приятней в конце концов.
Ещё хочется верить, что опыт приводит к уменьшению кол-ва ошибок, ну и повторное использование кода (читай, библиотеки) тоже.
Легко оставаться оптимистом когда всё хорошо, сложнее — когда всё похуже). Хотя нет — конечно же от человека зависит — кого-то заставляют шевелиться неудачи, кого-то воодушевляют его победы.
Смогли догадаться по эпиграфу, какая будет эмоциональная окраска поста?))
Я не особо доволен своими результатами, хотел, конечно, большего. Но если посмотреть объективно, отодвинуть загораживающие обзор недостижения крупных целей или значимых результатов, то в принципе всё вполне позитивно. Местами будет достаточно абстрактно написано — сорри, это мой стиль)).
1. Результаты торговли за год (любой), аккурат в районе нуля. Ну ± 1%, ну скорее минус конечно)). А вообще я так и не знаю, как считать %% дохода в случае если ты периодически довносил/довыносил)) — по-моему в любом подходе к вычислению % в этом случае будет достаточно высокий процент условностей — если я не прав — напишите в комментариях).
Комментарии: как торговал — особо никак — одну бумажку мучил весь год, инвестиционно, пытаясь перезаходить частью пакета по лучшей цене. Идея долгосрочная, то что в нулях остался на таком небольшом горизонте — можно сказать, везение.