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

по

Если санкции распространят на весь гос. долг, то будет хороший вход для покупки ОФЗ. Про ОФЗ с защитой от инфляции (52 серия).

7% объема ОФЗ держат американские инвесторы.
Всего выпущено ОФЗ на сумму почти 14 трлн.рублей.
Если США распространят санкции на весь гос. долг, то будет хороший вход для покупки ОФЗ.

ОФЗ 52 серии
(с ежедневно растущим номиналом на величину индекса потребительских цен с 3-месячным лагом 
и НКД, доходность = рост номинала + НКД, в н/вр выше, чем по другим ОФЗ)
Цена = номинал х рыночная котировка в % + НКД.

Про традиционный ОФЗ (с фиксированным купонным доходом) знают все, 
про ОФЗ — флоатеры знают почти все  кто интересуется финансовыми рынками.
Про ОФЗ 52 серии знают не все, поэтому пишу именно про ОФЗ 52 серии.


Напоминаю: по любым облигациям, их держатель ежедневно получает НКД (накопленный купонных доход). По ОФЗ 52 серии еще и ежедневно растёт номинал. При покупке, Вы платите НКД, при продаже Вам платят НКД. Облигации торгуются по формуле Т+1: цена сделки фиксируется на момент совершения, купить акции и облигации на собственные средства можно сразу же после продажи ОФЗ, но вывести деньги можно на следующий рабочий день (поэтому называется Т+1).



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

Лакмусовая бумага обострения.

Здравствуйте, коллеги!

Если вы хотите прикинуть вероятность «плохих» событий, смотрите на евробонды, в данном случае выпущенные Украиной. В конце ноября 2018 года произошёл инцидент в Керченском проливе  и стоимость бондов резко отреагировала на это событие, поскольку вероятность прямого столкновения была крайне высока и прошлый президент пытаясь удержаться у власти  хотел ввести военное положение по всей стране, бросок параболой XS1303926528 :

Лакмусовая бумага обострения.

Облигации с погашением в 2027 году XS1303927179 цена снижается, но пока это не выглядит как паника инвесторов, за купон 7,75% в USD они готовы терпеть эти риски:

Лакмусовая бумага обострения.



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

Зашифрованный и сжатый JSON с комментариями в качестве файла конфигурации

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

Для файлов конфигурации я уже давно использую файлы с JSON. Очень удобная вещь. Осталось лишь добавить поддержку комментариев и зашифровать текст при помощи алгоритма AES. А для большей красоты еще и сжать текст перед шифровкой алгоритмом brotli.

Сказано — сделано. Встречайте — crypto-jsonпроект на гитхабе. Репозиторий содержит готовый редактор JSON с комментариями, который может также сохранить текст в зашифрованном виде. Настройки сжатия и шифрования можно задать перед сохранением файла и во время открытия. Также редактор позволяет сделать проверку JSON и может подсвечивать проблемные места.



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

Карточки по всем инструментам срочного рынка!

Привет, смартлабовцы!

Мы тут разработали для частных инвесторов карточки фьючерсов и опционов, которые торгуются на Московской бирже. Типы контрактов, характеристики, риск-параметры, особенности сделок и простые стратегии – все это можно посмотреть по ссылке в первом комментарии.

Смотрите, изучайте!


Быстрый бектестинг стратегии на python с pandas

Я уже давно использую для бектестов python и pandas. pandas это библиотека для работы с матрицами и её прелесть в том, что она оперирует векторами и работает ГОРАЗДО быстрее, чем обычные циклы. Для того, чтобы сохранить это достоинство при бектестах я использую логарифмическую доходность (log-return на английском). Не ручаюсь за русские термины, так как узнал про них из англоязычных статей. Написанное ниже не истина в первой инстанции, а моя попытка разобраться как это всё работает чтобы применять на практике. Если я не прав, напишите. Я хоть и защищал кандидатскую диссертацию, но не по математике или экономике.

Немного теории



Логарифмическая доходность — разница стоимости актива в разные промежутки времени в процентах. Рассчитываеся по такой формуле:  
Быстрый бектестинг стратегии на python с pandas


Формула для расчёта логарифмической доходности, логарифм натуральный

Теперь на примере акций теслы. Цена по дням:  

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

Как отправлять сообщения из Квика в Телеграм! И писать в файлик разную дребедень!


Все очень и  очень просто!
Достаточно создать бота в телеге,  написать примитивный  луа  скрипт и запустить его.

Про ботов в телеге здесь  https://core.telegram.org/bots
в гугле  куча инфы  и примеров, как чего куда и зачем.


--
--СКРИПТ Niki для smart-lab.ru 260321  ревизия
---------------------------------------

-- Флаг для поддержания работы функции main
is_run=true

fut_limit_old =0
fut_limit_max =0
kgo_old       =0.5


function main( ... )  -- чудотворная функция внутри  которой все  работает

		   
		    --"r": режим чтения (по умолчанию);
			--"w": режим записи;
			--"a": режим добавления;
			--"r+": режим обновления, все предыдущие данные сохраняются;
			--"w+": режим обновления, все предыдущие данные стираются;
			--"a+": режим добавления и обновления, предыдущие данные сохраняются, запись разрешена только в конец файла.     b бинарные файлы
		   
		   -- Пытается открыть файл в режиме "чтения/записи"
		   f = io.open(getScriptPath().."\\Limits.txt","a");
		   -- Если файл не существует
		   if f == nil then 
			  -- Создает файл в режиме "записи"
			  f = io.open(getScriptPath().."\\Limits.txt","w"); 
			  -- Закрывает файл
			  f:close();
			  -- Открывает уже существующий файл в режиме "чтения/записи"
			  f = io.open(getScriptPath().."\\Limits.txt","a");
		   end;

    while is_run do    
        sleep(1000)   -- 1000 = 1 секунда    --волшебная пауза в  работе  скрипта
		
		if getFuturesLimit("A111", "A111111", 0, "SUR") ~= nil then     -- защита от  пустых таблиц    -- впишите ваши данные из Квика
		
			-- %c   - дата и время (по-умолчанию) (пример, 03/22/15 22:28:11) 
			-- %x   - дата (пример, 09/16/98)
			-- %X   - время (пример, 23:48:10)
			
			seconds = os.time(); -- в seconds будет значение 1427052491
			date1 = os.date("%x",seconds);  --  %c   - дата (по-умолчанию) (пример, 03/22/15 22:28:11) 
			time1 = os.date("%X",seconds);  --  %c   - время (по-умолчанию) (пример, 03/22/15 22:28:11) 
			
			
			--[[
			liquidity_coef           --NUMBER  Коэффициент ликвидности  
			cbp_prev_limit           --NUMBER  Предыдущий лимит открытых позиций на спот-рынке» 
			cbplimit                 --NUMBER  Лимит открытых позиций  
			cbplused                 --NUMBER  Текущие чистые позиции  
			cbplplanned              --NUMBER  Плановые чистые позиции  
			varmargin                --NUMBER  Вариационная маржа  
			accruedint               --NUMBER  Накопленный доход   
			cbplused_for_orders      --NUMBER  Текущие чистые позиции (под заявки)  
			cbplused_for_positions   --NUMBER  Текущие чистые позиции (под открытые позиции)  
			options_premium          --NUMBER  Премия по опционам  
			ts_comission             --NUMBER  Биржевые сборы  
			kgo                      --NUMBER  Коэффициент клиентского гарантийного обеспечения  
			currcode                 --STRING   Валюта, в которой транслируется ограничение  
			real_varmargin           --NUMBER  Реально начисленная в ходе клиринга вариационная маржа. Отображается с точностью до 2 двух знаков. При этом в поле «varmargin» транслируется вариационная маржа, рассчитанная с учетом установленных границ изменения цены  
			--]]
			
			
			fut_limit    = getFuturesLimit("A111", "A111111", 0, "SUR").cbplused_for_positions    --  NUMBER  Текущие чистые позиции (под открытые позиции)     -- впишите ваши данные из Квика
			varmargin    = getFuturesLimit("A111", "A111111", 0, "SUR").varmargin                 -- впишите ваши данные из Квика
			accruedint   = getFuturesLimit("A111", "A111111", 0, "SUR").accruedint                -- впишите ваши данные из Квика
			ts_comission = getFuturesLimit("A111", "A111111", 0, "SUR").ts_comission              -- впишите ваши данные из Квика
			kgo          = getFuturesLimit("A111", "A111111", 0, "SUR").kgo                       -- впишите ваши данные из Квика
			
			profit = varmargin + accruedint;
	 
			--if  math.abs(fut_limit-fut_limit_old) > 10000 then       -- каждые 10000 рублей изменения ГО,   слишком частый файл печати 
			if  math.abs(fut_limit-fut_limit_old) > 100000 then       -- каждые 100000 рублей изменения ГО,   настраиваем под себя.
			
				open_lim     = getFuturesLimit("A111", "A111111", 0, "SUR").cbplimit                  --NUMBER  Лимит открытых позиций
				f:write( tostring(date1).."  "..tostring(time1).."  ".."ГО: "..tostring(fut_limit).."  ".."Профит: "..tostring(profit).."  ".."Комис: "..tostring(ts_comission).."  ".. "КГО: "..tostring(kgo).."  Lim: "..tostring(open_lim)..  "\n"); -- "\n" признак конца строки
				--f:write( tostring(date1).. "  " ..tostring(time1)..  "  " .. "BID: " .. tostring(res_trans) .. "  " .. "ASK: " ..  tostring(MXU8ask_vol) .. "\n"); -- "\n" признак конца строки
				   -- Сохраняет изменения в файле на диск
				f:flush();
				
				fut_limit_old = fut_limit;
			end
			
			if fut_limit_max == 0  then   								
				fut_limit_max = fut_limit;
			end	
				
			if ( math.abs(fut_limit-fut_limit_max) > 1000000 and fut_limit>0 ) then   	  -- настраиваем под себя							
				message( tostring(fut_limit) )   ----сообщение в Квик--
				--message( tostring(time1) )
				---------------------------------------- отправляем сообщение в  Телеграмм--
				pos_free     = getFuturesLimit("A111", "A111111", 0, "SUR").cbplplanned               --NUMBER  ГО свободных денег от позы без пониженного ГО 
				open_lim     = getFuturesLimit("A111", "A111111", 0, "SUR").cbplimit                  --NUMBER  Лимит открытых позиций
				tg_message = tostring(open_lim).."   ГО:"..tostring(fut_limit).."   Поза:"..tostring(open_lim-pos_free) 
				os.execute('curl  "https://api.telegram.org/botВашиДанныеИзТелеграмм&text= + '..tg_message..' " ')    -- отправляем в телегу, через винду. Вписать ваши данные из Телеграмм
				----------------------------------------
				-- Пример строки   https://api.telegram.org/bot365877050:AAE232342348HIqifnyGSsw89U_4TK3Y/sendMessage?chat_id=202560128&text=  + Привет Квик!
				----------------------------------------
				fut_limit_max = fut_limit;
			end	
			
			if  math.abs(kgo-kgo_old) > 0 then
				---------------------------------------- отправляем сообщение в  телеграмм
				tg_message = tostring(kgo).." Внимание! Изменился коэффициент КГО" 
				os.execute('curl  "https://api.telegram.org/botВашиДанныеИзТелеграмм&text= + '..tg_message..' " ')    -- отправляем в телегу, через винду. Вписать ваши данные из Телеграмм
				----------------------------------------
				-- Пример строки   https://api.telegram.org/bot365877050:AAE232342348HIqifnyGSsw89U_4TK3Y/sendMessage?chat_id=202560128&text=  + Привет Квик!
				----------------------------------------
				kgo_old = kgo;
			end
		end
		
		
		
    end
f:close();  -- закрываем файл печати.
end		
		

-- Остановка скрипта из Квика
function OnStop(stop_flag)

    is_run=false

end


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

Грааль. Совет новичкам, не губите свою жизнь.

Хочу поделиться своими наблюдениями. Торгую уже 14 лет за эти годы всегда сидел на различных тематических ресурсах читал аналитику читал истории жизни трейдеров очень много времени посвящал любимому хобби очень нравилось быть в курсе всех событий которые происходят в мире, кстати читал Мартынова еще тогда когда он выкладывал свои сделки и не было смартлаба. И вот что я понял
1. Активной торговлей вы не заработаете, не стройте иллюзий это точка и все не пытайтесь спорить активных трейдеров нет это зависимые игроки.
2. На рынке всегда происходит то что невозможно предвидеть и проанализировать, и сколько бы вы не заработали результат будет ближе к нулю. 
Я следил за многими людьми и те кто давно на рынке сами напишут в комментариях становление и падение своих кумиров(ну или не кумиров) от себя напишу Евгений Романов торговал форэкс земля ему пухом для меня этот человек в начале был гуру, а по мере взросления я лишь понял что его перерос жаль что он так рано ушел из жизни царство ему небесное.

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

На фондовом рынке зарабатывают психологически зрелые.

Большинство трейдеров не могут заработать, потому что не способны предвидеть долгосрочные перспективы своих выборов. Если не сформировано стратегическое мышление, то ими управляют только лишь эмоции текущего момента.

Также как ребенок, способный пить литрами пепси, не отдавая себе отчет о последствиях для здоровья, так и большинство трейдеров пытается ежеминутно получать удовлетворение (в виде быстрого взятия прибыли, или отказа от негативных эмоций – признания убытка, и т.д.). Причина всех неприятностей – инфантилизм, который проявляется в то время, когда импульсы момента берут верх над желанием достичь долгосрочной цели. И кстати, у психологического ребенка четкой осознаваемой цели не бывает.

Также трейдеры, не достигшие психологической зрелости, не могут монотонно повторять известные им вещи, даже если знают, что это может привести к хорошим результатам. Они относятся к такой работе, как долженствованию. Но они-то не за этим на рынок пришли. Это сладкое слово «свобода» еще пылает в их сердцах.



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

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