Избранное трейдера MrD

по

Заработать на облигации = налоговый маневр + купон.

Заработать на облигации = налоговый маневр + купон.

Если по Вашему брокерскому счету образовалась прибыль и вы не выводили денежные средства с него — брокер автоматически удержит 13% НДФЛ в конце года.

Как снизить налогооблагаемую базу читайте в этой статье. Заработать на облигации = налоговый маневр + купон.

( Читать дальше )

Импорт даннных из файла CSV в базу данных SQLite.

    • 13 января 2020, 16:08
    • |
    • 3Qu
  • Еще

Импорт даннных из файла CSV в базу данных SQLite.

В связи с моим топиком "Беспроигрышная стратегия акции-фьючесы" занимался скачиванием истории по акциям и фьючерсам, записью их в базу данных (БД) SQLite, и анализом данных. Я занимаюсь моделированием и обработкой данных в Python, и все данные, будь то история или реал-тайм данные полученные из терминала, удобнее держать не в CSV-файлах или памяти программы, а в БД, и обращаться к ним по ходу пьесы. А данных часто десятки и более мегабайт и далеко не все они нужны единовременно, и держать все это в переменных в памяти не оч разумно.

Безусловно, если вы работаете с одним инструментом и линейной историей вам хватит CSV и массива памяти, но для более сложных задач обработки данных БД незаменима, и все решения оч упрощаются.
Все, что я написал очевидно и ничего нового не содержит, однако, если вы еще не используете БД — настоятельно рекомендую.
Но, к делу. Скачиваем с Финам историю.
Импорт даннных из файла CSV в базу данных SQLite.



( Читать дальше )

Маркет тайминг - зло.

   Я сделал попытку проанализировать, насколько удачный вход или выход из позиции может влиять на доходность. Я взял индекс РТС с 2013 года и посчитал, как изменится доход инвестора, если 1) пропустить 5 самых прибыльных дней в году, 2) пропустить 5 самых провальных дней в году, 3) ничего не делать.

   10 из 250 торговых дней всего лишь 4%. Можно предположить что результат изменится больше чем на 4%, но в реальности все гораздо радикальнее.

   Ниже графики за каждый год и кумулятивный график за 2013-2019 (на момент 17 декабря).
Маркет тайминг - зло.
Маркет тайминг - зло.
Маркет тайминг - зло.
Маркет тайминг - зло.
Маркет тайминг - зло.

Маркет тайминг - зло.
Маркет тайминг - зло.
Маркет тайминг - зло.
   За 7 лет вы либо заработали >400%, либо потеряли 80% портфеля.

   Попытка зафиксировать профит или убытки одинаково губительна для портфеля: вы пропустите те самые несколько дней, которые отделяют прибыльный портфель от убыточного.





300 лет в искаженной реальности

Назрел крупнейший прорыв в понимании случайности Этот рисунок изображает параллельные миры, разветвляющиеся в будущее, когда реальность выбирает одну траекторию в пространстве возможностей. AMERICAN INSTITUTE OF PHYSICS. Credit: Peters and Gell-MannЭтот рисунок изображает параллельные миры, разветвляющиеся в будущее, когда реальность выбирает одну траекторию в пространстве возможностей. AMERICAN INSTITUTE OF PHYSICS. Credit: Peters and Gell-Mann

( Читать дальше )

Коммуникации Quik Lua с внешним миром.

    • 14 декабря 2019, 20:42
    • |
    • 3Qu
  • Еще

Мне нравится Lua. Lua хороший компактный язык на котором можно сделать индикаторы, различные вспомогательные программы, помогающие трейдеру и даже несложные торговые системы (ТС, роботы). Пожалуй единственная книга по Lua — Роберту Иерузалимски: Программирование на языке Lua. Ее можно найти в интернете.

Lua имеет также несложный C-API позволяющий связать программы Quik Lua с внешним миром через DLL и получить доступ практически ко всему, в том числе к любым математическим библиотекам обработки данных, что необходимо для сколь-нибудь сложным ТС. Однако, для этого уже необходимо знание не только Lua, но и Lua C-API, языка С/С++, а также умения писать DLL. При этом надо будет решить еще ряд проблем, которые возникнут по ходу пьесы в процессе этой деятельности. Далеко не каждый пользователь Quik и Lua может все это реализовать в обозримое время.
У Quik Lua (QLua) есть еще недостатки — все события терминала в Lua работают в потоке терминала, и получив из них данные надо как можно быстрей завершать функции обработки этих данных и освобождать поток терминала, иначе терминал просто повиснет. Единственная функция QLua работающая в собственном потоке — это main() и вся сколь-нибудь сложная обработка может находиться только в ней.
Кроме того, для Lua крайне мало библиотек, а существующие работают оч не быстро. В принципе, это и не нужно, если можно организовать связь с внешним миром через C-API. Но нам от этого легче не становится.) Короче, для написания хорошей сложной ТС нам надо выйти за пределы QLua и установить связь с внешним миром, и сделать это доступными средствами.
Сейчас наиболее продвинутым языком, включающим в себя массу библиотек обработки данных является Python. По применимости для обработки данных он, пожалуй, занимает первое место в мире, а по распространенности входит в первую пятерку. В числе библиотек — математические, статистические, машинного обучения и пр., и пр. Таких библиотек более тысячи только в Anaconda, большинство из которых устанавливается при ее инсталяции. Вы можете не использовать Anaconda и скачать Python с сайта



( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Модель Курбаковского, сглаживание и нормировка

Большое спасибо Виталию Курбаковскому, что опубликовал свою обобщенную модель ценообразования опционов (1, 2, 3, 4, 5). Давно хотелось подобную модель, с минимум параметров, физический смысл которых был бы более-менее понятен. Чтобы можно было осознано свои параметры модели задавать, а не подгоняться под рынок и слепо за ним идти. Модель, которую использует биржа (с шестью параметрами ABCDES) под такой запрос не подходит. Попробуй там пойми, все ли шесть параметров сейчас имеют справедливые и оправданные значения, или с каким-то из параметров можно поспорить. И слишком уж она гибкая. Бывало смотришь — выскочила какая-то котировка за модель, только соберешься по ней ударить, а программа параметры модели подкорректировала и услужливо изогнула кривую с учетом новой котировки. И то, что только что
выбивалось за модель, стало ей соответствовать. Пробовал еще модель китайской улыбки, там и параметров поменьше и смысл у них попонятнее, но очень уж плохо она подгоняется под рынок. И тут, на счастье, Виталий поделился своей моделью и все подробно объяснил. Реализовал у себя и оказалось — то что надо. И в рынок хорошо вписывается, и параметры имеет понятные.



( Читать дальше )

Вопрос дилетанта (но ответ будет полезен многим)

Доброй ночи, коллеги!

Читая этот ресурс (и некоторые другие), постоянно натыкался на набор постулатов:
— чтобы поднять прибыль, следует увеличить риск
— трейдеры торгуют риском
— практически невозможно показать доходность больше, чем безрисковая ставка + максимальная просадка (за период, ессно)

Все слова по отдельности мне понятны, постулаты в целом нет.
Ну т.е. понятно, почему банки торгуют риском. Но почему трейдеры — я ХЗ?

Если нетрудно, поясните мне (и другим страждущим) плз, на чем базируются эти постулаты? На наблюдениях за работающими трейдерами? На какой-то из форм гипотезы эффективности рынка? На отдельных расчетах и теоремах?
(а то лично у меня формируется практически противоположное мнение по всем трем постулатам)

Буду крайне признателен за любой аргументированный ответ.

С уважением

Инструкция по заполнению декларации 3-НДФЛ для сальдирования убытка

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

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

Я специально для вас подготовила видео, в котором я рассказываю, как заполнить декларацию 3-НДФЛ (на примере 2018 года) в программе налоговой службы. Это удобно, быстро. Вы сами сможете все увидеть.

Если у вас будут вопросы, пишите в комментариях под видео или тут. Я постараюсь дать ответ на каждый ваш вопрос.

В видео идет описание:

  • где взять программу,
  • как внести данные, если брокеры разные, а прибыль и убыток получены в одном году,
  • прибыль в 2018 году, а убытки получены в прошлые годы,
  • есть еще инвестиционный вычет.

NASDAQ как неплохой инвестиционный фильтр

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

Известно, что любой индекс фондового рынка--это во многом ошибка выжившего. Как ни странно, лично я не особо задумывался на тему насколько именно это ошибка выжившего. Тому есть объяснение, конечно. На суверенном фондовом рынке игра своя, особенная, и ошибка выжившего тут не особо ощущается. Выживают все ибо недра богатые. Условно, индекс вообще не меняется, как торгуются в нем госы и/или олигархи, так и торгуются. Куда ж они денутся, нефти у нас много, на сферический Санкт-Петер-Бург в вакууме и поддержку всяких криворуких отливателей в бетон еще надолго хватит, а несферические потерпят, невелики баре то. Поэтому торгуя ру рынок о таких вещах и не задумываешься. 

Однако, бывает и совсем другая ситуация. Вот индекс NASDAQ100:
NASDAQ как неплохой инвестиционный фильтр

( Читать дальше )

В помощь QLUA-водам. Функция чтения CSV файла.

    • 21 ноября 2019, 12:01
    • |
    • Egorax
  • Еще
В былую давность пытался решить вопрос с интерфейсом для QLUA.
Испробовал IUP, VCL и еще какая-то библиотека была. Но ни одна библиотека стабильно не работала, через какой-то промежуток времени Квик вставал колом.


Т.к. нам красоты не надо, а удобство хочется, то решил пусть интерфейсом будет Excel(файл.CSV).

В помощь QLUA-водам. Функция чтения CSV файла.


Вот вам функция для чтения CSV файлов:

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

-----------------------------
function File_Read(filename)


local col = 1
local pat = "(.*)"
local A={};local B={};local C={};local D={};local E={};
local F={};local G={};local H={};local I={};local J={};
local K={};local L={};local M={};local N={};local O={};
local P={};local Q={};local R={};local S={};local T={};
local file, err = io.open(filename,«r»)
if err ~= nil then PrintDbgStr(«err read file: »..err); return; end
str = file:read()
for var in string.gmatch (str, ";") do col=col+1 end
for i = 2, col do pat = pat..";(.*)" end
for line in io.lines(filename) do
--PrintDbgStr(line)
local _,_,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20 = string.find(line,pat)
--PrintDbgStr(tostring(s1))
table.insert(A,s1);table.insert(B,s2);table.insert(C,s3);table.insert(D,s4);table.insert(E,s5);
table.insert(F,s6);table.insert(G,s7);table.insert(H,s8);table.insert(I,s9);table.insert(J,s10);
table.insert(K,s11);table.insert(L,s12);table.insert(M,s13);table.insert(N,s14);table.insert(O,s15);
table.insert(P,s16);table.insert(Q,s17);table.insert(R,s18);table.insert(S,s19);table.insert(T,s20);
end
file:close()
table.remove(A,1);table.remove(B,1);table.remove(C,1);table.remove(D,1);table.remove(E,1);
table.remove(F,1);table.remove(G,1);table.remove(H,1);table.remove(I,1);table.remove(J,1);
table.remove(K,1);table.remove(L,1);table.remove(M,1);table.remove(N,1);table.remove(O,1);
table.remove(P,1);table.remove(Q,1);table.remove(R,1);table.remove(S,1);table.remove(T,1);
--Print_Table® Print_Table(S) Print_Table(T)
return A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T
end

 



-------------------------------


Во время работы робота смело изменяем CSV файл и сохраняем, и новые параметры у вас в роботе.
CSV файл можно держать открытым.



  • обсудить на форуме:
  • Quik Lua

....все тэги
UPDONW
Новый дизайн