Избранное трейдера zam
В таблице 1 приведены 32 наиболее ликвидные акции нашего рынка, упорядоченные по убыванию доходности за январь 2021. Первые 8 акций – это лучшие бумаги месяца по состоянию на утро 01.02.2022.
Таблица 1.
Бумаги в таблице 1 выделены тремя цветами:
Это 14 выпуск в рубрике BMS (лучшие бумаги месяца). Январь месяц 2021 был очень плох для нашего фондового рынка. По итогам января только 1 бумага из 32 закрыла месяц ростом. Это очень плохой знак, вероятность падения в феврале выглядит выше, чем вероятность роста. Соответственно, текущая рекомендация для тех, кто хочет торговать по этой системе:
Начинаем цикл коротких заметок о торговых алгоритмах.
В основу положен наш опыт и цитаты из достойных книг.
Цель заметок структурировать знания о построении трендовых стратегий и их оптимизации.
Надеемся, что наши заметки будут интересны для трейдеров с разным уровнем знаний.
В серии данных заметок будет:
1. Для чего нужны стратегии.
Рассмотрим две простые стратегии.
Введение
Если вы уже давно торгуете на фондовом рынке, то наверняка заметили, что одни и те же бумаги растут сильнее рынка, а другие все время стоят на месте или даже падают. Примеров можно привести много: это и ВТБ, который разместился на IPO в 2007 году по 13.6 копеек, а сейчас стоит менее 4 копеек, это и Мечел, который в 2011 году стоил более 900 рублей, а сейчас торгуется около 60. Да и каждый из вас без труда может привести множество подобных примеров. В то же время есть бумаги, которые выросли за это время в несколько раз, оставаясь лучшими много лет подряд.
В своих первых двух статьях на смартлабе я уже приводил тестирование на исторических данных гипотезы о том, что лучшие бумаги, как правило, остаются лучшими, а аутсайдеры, так и остаются аутсайдерами. Вот эти статьи:
1. Как обогнать индекс (пример выигрышной торговой стратегии)
2. Как проиграть индексу акций (пример ошибочной торговой стратегии)
Начнем с традиционной таблицы
Первые две декады мая меня откровенно «пилило». Началось все с «распила» в Si 4-5 мая, после чего он был «вырублен» «фильтром большой пилы» до конца мая. 6-7 мая «эстафету принял» RI-тренд и его майский убыток почти в 1,5 раза меньше убытка в эти два дня. И закончилось все большим убытком RI-контртренд 18-20 мая, который, впрочем, этой системе удалось сократить больше, чем в 2 раза до конца мая.
Но были и приятные моменты: с 12 по 18 мая была традиционная «кошмарная неделя» ( 4 сильных гэпа против движения предыдущего дня), которая встречается по статистике 1-3 раза в год. Но «фильтр короткой пилы» в этот раз позволил мне в эти дни избежать больших убытков, встречавшихся до его создания. Поэтому максимальная просадка в этом году осталась без изменений.
Спокойнее всего в мае вели себя Спот+ «синтетика», закончившие 4-19 мая в легком минусе и получившие прибыль по итогам месяца.
После написания топика «Quik, DDE, Excel» [1], где была поставлена задача вывода данных доски опционов не непосредственно в Excel, что является очень неудобным для конкретных приложений, а в свой DDE-сервер. Свой DDE-Сервер обладает тем преимуществом, что данные из него можно направлять куда угодно, и как угодно.
С тех пор прошло 3 дня. Черновая болванка программы уже написана, отлажена, работает, и выполняет все возложенные на нее задачи. Как я опрометчиво обещал, проект DDE-Сервера будет предоставлен всем желающим [2](см. список ссылок). Проект выполнен на C++ в среде VS2017. DDE-Сервер на данном этапе выполнен в виде консольного приложения, и все что он делает, это выводит получаемые из Quik по DDE данные на консоль. В принципе, он должен работать с любой таблицей Quik, но делался под вывод доски опционов.
Я этот проект бросаю в таком виде, и уже начинаю на его основе делать приложение для решения своих конкретных задач. На этом наши пути расходятся. Проект поставляется в виде — как есть, и никакие изменения в него мною вносится уже не будут. Теперь это уже ваша задача. Вы можете модифицировать проект под решение ваших конкретных задач.
Не далее как вчера опубликовал топик "Смена x86 Quik 7.27.2.1 на x64 Quik 8.4.1.6. Пляски вокруг DLL", где кратко рассказывалось как перекомпилировать проект С++ с платформы х86 на х64. Надеюсь, что у вас все уже получилось или получится.
Но я «крутой» программист, и, естественно, у меня вначале вообще ничего и никак не получалось. А так как проект большой, да еще и непонятно в чем дело, а своими экспериментами я могу вообще все испортить, то решил сделать маленькую простенькую DLL LuaProba.dll, на ней отработать переход на х64, и потом перенести это в большой проект.
Привожу код С++ DLL целиком:
// LuaProba.cpp: определяет экспортированные функции для приложения DLL. // #include "stdafx.h" #include <stdio.h> #include <string.h> //=== Необходимые для Lua константы ============================================================================// #define LUA_LIB #define LUA_BUILD_AS_DLL //=== Заголовочные файлы LUA ===================================================================================// extern "C" { #include "Lua\lua.h" #include "Lua/lauxlib.h" } static int forLua_TestFunc(lua_State *L) // Возвращает заданный текст { const char *cc = "Привет из C/C++ и от меня 2 раза"; //str.c_str(); lua_pushstring(L, cc); return(1); } //= == Регистрация реализованных в dll функций, чтобы они стали "видимы" для Lua == == == == == == == == == == == == == == == ==// static struct luaL_reg ls_lib[] = { { "TestFunc", forLua_TestFunc }, { NULL, NULL } }; //=== Регистрация названия библиотеки, видимого в скрипте Lua ==================================================// extern "C" LUALIB_API int luaopen_LuaProba(lua_State *L) { luaL_openlib(L, "LuaProba", ls_lib, 0); return 0; }Весь проект DLL для VS 2015 можно скачать по ссылке -