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

по

Прогноз рынка на год

в ближайшие дни(до конца июня) начнется падение примерно до 125 по ртс. Дальше примерно в середине июля будет небольшой рост до 130-135 по ртс, потом с начала августа будет снижение до  115-120. Дальше ближе к концу августа — начале сентября начнется рост до 145-150, дальше примерно в середине октября будет небольшая коррекция до 135-140, потом в начале ноября начнется снова рост, до 146 к концу года. Новый год откроется падающим гэпом до 140 но потом до середины февраля будет рост до 155-160. затем будет небольшая коррекция до 140 к середине марта. Потом до середины апреля будет опять рост до 160-165, затем начнет разворот который продлится до 135 к началу июня. потом будет боковик до 24 июня 2015 года, который мы встретим около 137000 по RIU5.
Будет примерно так:
Прогноз рынка на год

 PS: прошлогодний прогноз почти не сбылся: 
smart-lab.ru/blog/121176.php

Некоторые быстрые методы работы с формулой Блэка-Шоулса

При торговле опционами весьма неплохо знать и понимать теорию Блэка и Шоулса. Можно, конечно, смотреть профили позиций и прочее на многочисленных специальных сервисах типа www.option.ru, но, как известно, хочешь сделать хорошо--сделай все сам. В применении к опционам это вполне правильная вещь--не стоит доверять сторонним сервисам. Не потому, что они плохи (они обычно вполне корректно все рассчитывают), а потому, что опционы надо чувствовать.

Краткая и лаконичная суть теории Блэка и Шоулса изложена здесь: http://anatoly-utkin.livejournal.com/2835.html . Ничего сложного в ней нет, это просто теория эффективного рынка в применении к опционам, не более. В настоящей заметке я хотел бы привести некоторые быстрые расчетные методы для работы с формулой Блэка-Шоулса, позволяющие быстро находить цены опционов и IV.


Итак, формула Блэка-Шоулса имеет вид: C=KN(d1)-SN(d2)  ( Wikipedia ). Первое, что тут есть из нетривиального--это функция N(x)--функция нормального распределения. В трейдерской тусовке модно аппроксимировать N(x) полиномом, однако мне это режет глаз, поскольку при этом не выполнено экспоненциальное стремление N(x) к единице на плюс бесконечности и к нулю на минус бесконечности. Поэтому такая метода мне абсолютно не нравится.


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

Следим за сырьевыми индексами

С помощью Блумберга мы составили матрицу корреляций между различными финансовыми активами. Из нее видно, что наши индексы (ММВБ и РТС) имеют наиболее высокие месячные корреляции с австрийским индексом ATX (кстати выше, чем с S&P) и индексом сырьевых товаров CRB. Конечно же курс российского рубля и сверхликивдные акции Сбербанка заняли ведущие строчки по уровням корреляции. Но важно не это...


Следим за сырьевыми индексами
корреляционная матрица.
XAU — золото
CRB — индекс сырьевых товаров
CL1 — нефть марки WTI
CO1 — нефть марки Brent
SPX — индекс S&P-500

Важно то, что композитные сырьевые индексы Jefferies/Reuters CRB Index (CRB) и Dow Jones-UBS Commodity Index (DJUBS) в последние пару месяцев показывают консолидацию и прекращение падения. Такие фазы на графиках сырьевых индексов бывали не раз за последние годы, но сейчас цены многие сырьевые русурсы приблизились к уровням себестоимости их производства. Да и «по технике» для слома падающих трендов на графиках CRB и DJUBS остается совсем немного (не стал загромождать график линиями трендов) — достаточно им просто прекратить падать.

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

Pivot Point для Quik part2

    • 27 января 2014, 10:15
    • |
    • Aero
  • Еще
Добрый вечер, ранее я уже выкладывал немного доработанную версию пивотов smart-lab.ru/blog/159422.php Сегодня вот, что то мне моча в голову ударила, и я решил, что мне не нравится данное отображение пивот уровней.
Придя домой сразу же сел и начал изменять отображение этих самых уровней.

Вот что собственно и получилось:
 Pivot Point для Quik part2 

Есть два кода, один ведет расчет для недельных свечек (движение цены внутри недели), и код для дневных графиков (для интрадея)

 Для дневных свечек.
PORTFOLIO_EX VFPivot1;
DESCRIPTION VFPivot;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;
USE_CASE_SENSITIVE_CONSTANTS;
PROGRAM
cSrc=«GR21»
cTrgt=«GR100»
LinkR="####\###\####\###.bmp"
LinkPP="####\###\####\###.bmp"
LinkS="####\###\####\###.bmp"
FUNC Text2Date(Year,Month,Day)
if (LEN(Month) < 2)
Month = «0» & Month
end if
if (LEN(Day) < 2)
Day = «0» & Day
end if
result = Year & Month & Day
END FUNC

Func LogData(Prm1,Prm2)
output = CREATE_MAP ()
output = SET_VALUE (output, «Param0», GET_INFO_PARAM(«SERVERTIME»))
output = SET_VALUE (output, «Param1», Prm1)
output = SET_VALUE (output, «Param2», Prm2)
ADD_ITEM (CurLogLine, output)
CurLogLine=CurLogLine+1
End Func
FUNC MyRound1(pValue)
result=APPLY_SCALE(pValue,4)
label_params=create_map()
label_params=set_value(label_params,«TEXT», «R3»)
label_params=set_value(label_params,«IMAGE_PATH», LinkR)
label_params=set_value(label_params,«ALIGNMENT», «TOP»)
label_params=set_value(label_params,«YVALUE», result)
label_params=set_value(label_params,«DATE», Date1)
label_params=set_value(label_params,«TIME», 0)
label_params=set_value(label_params,«R», 24)
label_params=set_value(label_params,«G», 107)
label_params=set_value(label_params,«B», 139)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «Tahoma»)
label_params=set_value(label_params,«FONT_HEIGHT», 17)
label_params=set_value(label_params,«HINT», result)
id=ADD_LABEL(cTrgt, label_params)
end func
FUNC MyRound2(pValue)
result=APPLY_SCALE(pValue,4)
label_params=create_map()
label_params=set_value(label_params,«TEXT», «R2»)
label_params=set_value(label_params,«IMAGE_PATH», LinkR)
label_params=set_value(label_params,«ALIGNMENT», «TOP»)
label_params=set_value(label_params,«YVALUE», result)
label_params=set_value(label_params,«DATE», Date1)
label_params=set_value(label_params,«TIME», 0)
label_params=set_value(label_params,«R», 24)
label_params=set_value(label_params,«G», 107)
label_params=set_value(label_params,«B», 139)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «Tahoma»)
label_params=set_value(label_params,«FONT_HEIGHT», 17)
label_params=set_value(label_params,«HINT», result)
id=ADD_LABEL(cTrgt, label_params)
end func
FUNC MyRound3(pValue)
result=APPLY_SCALE(pValue,4)
label_params=create_map()
label_params=set_value(label_params,«TEXT», «R1»)
label_params=set_value(label_params,«IMAGE_PATH», LinkR)
label_params=set_value(label_params,«ALIGNMENT», «TOP»)
label_params=set_value(label_params,«YVALUE», result)
label_params=set_value(label_params,«DATE», Date1)
label_params=set_value(label_params,«TIME», 0)
label_params=set_value(label_params,«R», 24)
label_params=set_value(label_params,«G», 107)
label_params=set_value(label_params,«B», 139)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «Tahoma»)
label_params=set_value(label_params,«FONT_HEIGHT», 17)
label_params=set_value(label_params,«HINT», result)
id=ADD_LABEL(cTrgt, label_params)
end func
FUNC MyRound4(pValue)
result=APPLY_SCALE(pValue,4)
label_params=create_map()
label_params=set_value(label_params,«TEXT», «PP»)
label_params=set_value(label_params,«IMAGE_PATH», LinkPP)
label_params=set_value(label_params,«ALIGNMENT», «TOP»)
label_params=set_value(label_params,«YVALUE», result)
label_params=set_value(label_params,«DATE», Date1)
label_params=set_value(label_params,«TIME», 0)
label_params=set_value(label_params,«R», 24)
label_params=set_value(label_params,«G», 107)
label_params=set_value(label_params,«B», 139)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «Tahoma»)
label_params=set_value(label_params,«FONT_HEIGHT», 17)
label_params=set_value(label_params,«HINT», result)
id=ADD_LABEL(cTrgt, label_params)
end func
FUNC MyRound5(pValue)
result=APPLY_SCALE(pValue,4)
label_params=create_map()
label_params=set_value(label_params,«TEXT», «S1»)
label_params=set_value(label_params,«IMAGE_PATH», LinkS)
label_params=set_value(label_params,«ALIGNMENT», «TOP»)
label_params=set_value(label_params,«YVALUE», result)
label_params=set_value(label_params,«DATE», Date1)
label_params=set_value(label_params,«TIME», 0)
label_params=set_value(label_params,«R», 24)
label_params=set_value(label_params,«G», 107)
label_params=set_value(label_params,«B», 139)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «Tahoma»)
label_params=set_value(label_params,«FONT_HEIGHT», 17)
label_params=set_value(label_params,«HINT», result)
id=ADD_LABEL(cTrgt, label_params)
end func
FUNC MyRound6(pValue)
result=APPLY_SCALE(pValue,4)
label_params=create_map()
label_params=set_value(label_params,«TEXT», «S2»)
label_params=set_value(label_params,«IMAGE_PATH», LinkS)
label_params=set_value(label_params,«ALIGNMENT», «TOP»)
label_params=set_value(label_params,«YVALUE», result)
label_params=set_value(label_params,«DATE», Date1)
label_params=set_value(label_params,«TIME», 0)
label_params=set_value(label_params,«R», 24)
label_params=set_value(label_params,«G», 107)
label_params=set_value(label_params,«B», 139)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «Tahoma»)
label_params=set_value(label_params,«FONT_HEIGHT», 17)
label_params=set_value(label_params,«HINT», result)
id=ADD_LABEL(cTrgt, label_params)
end func
FUNC MyRound7(pValue)
result=APPLY_SCALE(pValue,4)
label_params=create_map()
label_params=set_value(label_params,«TEXT», «S3»)
label_params=set_value(label_params,«IMAGE_PATH», LinkS)
label_params=set_value(label_params,«ALIGNMENT», «TOP»)
label_params=set_value(label_params,«YVALUE», result)
label_params=set_value(label_params,«DATE», Date1)
label_params=set_value(label_params,«TIME», 0)
label_params=set_value(label_params,«R», 24)
label_params=set_value(label_params,«G», 107)
label_params=set_value(label_params,«B», 139)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «Tahoma»)
label_params=set_value(label_params,«FONT_HEIGHT», 17)
label_params=set_value(label_params,«HINT», result)
id=ADD_LABEL(cTrgt, label_params)
end func
DELETE_ALL_ITEMS()
DELETE_ALL_LABELS(cTrgt)


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

О программном инструментарии для исторического тестирования торговых систем

Единственное, что есть у трейдера--это история. Будущего никто не знает. Соответственно, одним из основных навыков трейдера должно быть умение обрабатывать исторические данные. Именно путем анализа истории создаются и предварительно тестируются торговые системы. В настоящей заметке я бы хотел описать свои программные технологии для предварительного исторического тестирования систем.

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

В мой комплекс софта для исторического тестирования входят:

1) Wealth-Lab 3.
Это программа из счастливого trend is your friend прошлого. Чак Лебо, доктор Элдер, Вильямсы, Велшлаб--все эти слова вызывают у меня скупую слезу умиления. Когда мы были молодыми и чушь прекрасную несли… Велшлаб--вторая программа, которую я освоил для торговли на бирже (первая была Метасток--но по современным меркам это полное убожество, которым я много лет не пользуюсь вообще. Хотя вотчлисты и вообще виндовая заточка в Метастоке смотрелась неплохо). В принципе, хорошая, годная программа. Нормальный язык программирования (Паскаль) позволяет написать все, что угодно. Неплохо реализовано портфельное тестирование, в отличие от всего другого, известного мне. Из минусов--ужасно медленная, тестировать интрадей не в кайф из-за тормознутости. Для некоторых вещей использую и поныне, так как язык программирования наиболее прозрачен и гибок из известных мне готовых тестирующих софтин. Есть некоторое количество глюков, некоторые запрятаны далеко и глубоко. В свое время даже написал на велше опционный тестер--страшно подумать. 

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

США готовятся сбрасывать бумажные доллары, чтобы ввести деньги Геззеля. Кто получит дивиденды с нового Бреттон-Вудса?

    • 12 января 2014, 13:42
    • |
    • SPAYS
  • Еще
дивиденды с нового Бреттон-Вудса?" src="http://communitarian.ru/upload/resize_cache/iblock/09a/298_221_1/09a507ee9d2d5c85c69e97c94e2495b5.jpg" alt="США готовятся сбрасывать бумажные доллары, чтобы ввести деньги Геззеля. Кто получит дивиденды с нового Бреттон-Вудса?" width="276" height="221" />
В первой половине ноября произошло важнейшее событие, которое полностью проигнорировали российские СМИ. Между тем, это был переломный момент в глобальной финансовой системе. Так, выступая на ежегодной конференции МВФ, бывший министр финансов США Лоуренс Саммерс заявил, что для достижения полного уровня занятости в экономике США потребуется установление отрицательных реальных процентных ставок
Экономика США уже находится на последнем издыхании, жизнь на рынках облигаций и акций поддерживается лишь благодаря не имеющим прецедентов в истории мерам ФРС по закачиванию ликвидности и печатанию денег. В первой половине ноября публично обозначился переломный момент в сложившейся глобальной финансовой системе. Так, бывший министр финансов США Лоуренс Саммерс, выступая на ежегодной конференции МВФ, заявил, что для достижения полного уровня занятости в экономике США потребуется установление отрицательных реальных процентных ставок. 


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

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