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

по

Лучшие книги по финансовым рынкам

Понятно, какого лектора слушать интересно: харизматичного, знающего, успешного в своей области. Но есть одна хитрость: крутой лектор никогда не рассказывает всего, что знает. Во-первых, он хочет, чтобы на его семинар пришли ещё раз (а в случае какой-нибудь “Второй Молодости” это его основная задача). А во-вторых, так он кажется более умным и убедительным.

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

1. The Drunkard’s Walk by Leonard Mlodinow («Несовершенная случайность», Леонард Млодинов). Ничего лучше по теории вероятности, на мой взгляд, не существует: тут всё объяснено доходчиво, последовательно, и при этом настолько интригующе, что многое понимаешь и запоминаешь, ещё не дочитав предложение. Куча живейших примеров из жизни, исторических курьёзов, огромное количество исследований поведения людей перед лицом неопределённости.

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

Camarilla Equation. Индикатор для QUIK. Часть 3.

    • 22 августа 2019, 12:29
    • |
    • XXM
  • Еще
Получил такое сообщение:

привет!
у меня в квике стояла камарилла аж с 2014 года, когда вы выложили здесь этот индикатор.
квик обновился до 8 и камарилла пропала.
это не исправить?

Глянул по тэгу https://smart-lab.ru/tag/Camarilla/ и вот они:
1. Camarilla Equation. Индикатор для QUIK.
2. Camarilla Equation. Индикатор для QUIK. Часть 2.

Выкладываю вариант, не зависящий от обновлений QUIK.

-- Camarilla.lua
Settings={
	Name = "Camarilla",
	period = 'D',
	line =
		{
			{Name = "S5", Color = RGB(255, 0, 0), Type = 1, Width = 2},
			{Name = "S4", Color = RGB(255, 165, 0), Type = 1, Width = 2},
			{Name = "S3", Color = RGB(255, 255, 0), Type = 1, Width = 2},
			{Name = "PP", Color = RGB(0, 255, 0), Type = 1, Width = 2},
			{Name = "R3", Color = RGB(0, 191, 255), Type = 1, Width = 2},
			{Name = "R4", Color = RGB(0, 0, 255), Type = 1, Width = 2},
			{Name = "R5", Color = RGB(139, 0, 255), Type = 1, Width = 2},
		}
}

local math_floor = math.floor
local levels = 0
local ydH, ydL, ydC, ydO = {},{},{},{}
local PP, R3, R4, R5 = 0,0,0,0
local S3, S4, S5 = 0,0,0
	local delta = 0
	local cl = 0
local predThisDay=0
local function dTs(t) return 100*(100*t.year+t.month)+t.day; end
local OldDay = ''	-- для выделения начала торгового дня

function Init ()
	local t=getDataSourceInfo()
	local tt = t.interval
	if tt == -3 then 
		message('Месячный график не обрабатывается.',1)
		return 
	end
	return 7
end

function OnCalculate (index)
	local time tt=T(index); ---время из свечи
	--local ThisDay=dTs(tt)	-- дата в формате yyyyMMdd
	local tDay=dTs(tt)	-- дата в формате yyyyMMdd
	local ThisDay = tDay
	if Settings.period == 'W' then
		ThisDay=tt.week_day	-- номер недели
	end
	if index == 1 then
		--message('First ThisDay = '..tostring(ThisDay),1)
		local t=getDataSourceInfo()
		--7.2.5 Функция предназначена для получения информации об источнике данных для индикатора.
		local scale = getSecurityInfo(t.class_code, t.sec_code).scale	--	NUMBER, Количество значащих цифр после запятой
		mul = 10^scale  -- возведение в степень
		local tt = t.interval
		if tt == -3 then tt = 'месяц' 
		elseif tt == -2 then tt = 'неделя'
		elseif tt == -1 then tt = 'день' 
		else
			tt = tt..' мин.'
		end
		--message(t.sec_code..'('..t.class_code..'), цифр после запятой: '..scale..', mul = '..mul..', дата = '..ThisDay,1)
		levels = levels + 1
		if ThisDay ~= OldDay then
			OldDay = ThisDay
		end	
		predThisDay = ThisDay
		--
		delta = H(index) - L(index)
		cl = C(index)
		R5 = (H(index) / L(index))*cl
		calcLevels(index)
		local per = 'daily'
		if Settings.period == 'W' then
			per = 'weekly'
		end
		message('Camarilla '..per..', Т = '..tt..', © xsharp.ru 20.06.2015', 1)
		return
	end
	if Settings.period == 'W' then
		if ThisDay < OldDay then	-- для неделек
			OldDay = OldDay + 1
			if OldDay ~= ThisDay then
				OldDay = ThisDay
			end
			levels = levels + 1
			delta = ydH[levels-1] - ydL[levels-1]
			cl = ydC[levels-1]
			R5 = (ydH[levels-1] / ydL[levels-1])*cl
			calcLevels(index)
			--if index<120 then
			--message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
			--end
			predThisDay = ThisDay
		else
			if ThisDay ~=predThisDay then
				--message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
				predThisDay = ThisDay
				OldDay = OldDay + 1
			end
			ThisDayF(index)
		end
	elseif Settings.period == 'D' then
		if ThisDay ~= OldDay then	-- для дневок
			OldDay = OldDay + 1
			if OldDay ~= ThisDay then
				OldDay = ThisDay
			end
			levels = levels + 1
			delta = ydH[levels-1] - ydL[levels-1]
			cl = ydC[levels-1]
			R5 = (ydH[levels-1] / ydL[levels-1])*cl
			calcLevels(index)
			--if index<120 then
			--message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
			--end
			predThisDay = ThisDay
		else
			if ThisDay ~=predThisDay then
				--message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
				predThisDay = ThisDay
				OldDay = OldDay + 1
			end
			ThisDayF(index)
		end
	elseif Settings.period == 'H4' then
		if ThisDay ~= OldDay then	-- для дневок
			OldDay = OldDay + 1
			if OldDay ~= ThisDay then
				OldDay = ThisDay
			end
			levels = levels + 1
			delta = ydH[levels-1] - ydL[levels-1]
			cl = ydC[levels-1]
			R5 = (ydH[levels-1] / ydL[levels-1])*cl
			calcLevels(index)
			--if index<120 then
			--message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
			--end
			predThisDay = ThisDay
		else
			if ThisDay ~=predThisDay then
				--message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
				predThisDay = ThisDay
				OldDay = OldDay + 1
			end
			ThisDayF(index)
		end
	end
	return S5, S4, S3, cl, R3, R4, R5
end

function round(value)
	return math_floor(value*mul + 0.5) / mul
end

function ThisDayF(index)
	ydC[levels] = C(index)
	if H(index) > ydH[levels] then
		ydH[levels] = H(index)
	end
	if L(index) < ydL[levels] then
		ydL[levels] = L(index)
	end
end

function calcLevels(index)
	ydO[levels] = O(index)
	ydH[levels] = H(index)
	ydL[levels] = L(index)
	ydC[levels] = C(index)
	--
	R3 = cl + delta * 1.1/4
	R4 = cl + delta * 1.1/2
	--
	S3 = cl - delta * 1.1/4
	S4 = cl - delta * 1.1/2
	S5 = cl - (R5-cl)
	--
	R5 = round(R5)
	R4 = round(R4)
	R3 = round(R3)
	S3 = round(S3)
	S4 = round(S4)
	S5 = round(S5)
end
  • обсудить на форуме:
  • QUIK

Выбор рабочего таймфрейма

    • 19 августа 2019, 19:09
    • |
    • AlexChi
  • Еще

Введение

Если вы торгуете на фондовом рынке уже не первый год, то не могли не заметить, что в последнее время резко увеличилась геополитическая нестабильность и так называемая “дерганность” рынка. Санкции, торговые войны и твиты Трампа приводят к резкому и неожиданному росту волатильности и частой смене текущей торговой тенденции.

Мне все это знакомо не понаслышке. Торгуя по системе BWS уже не первый год, я могу сделать некоторые выводы о том, как изменилась доходность торговых систем на различных интервалах от дневного до годового.

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

Необходимость ограничения убытков



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

Индекс страха, рейтинг, влияние на рынки и на экономику

 Содержание:
     I. История с рейтингами
     II. Идея («индекс страха») и просьба
     III. Моё мнение про сист. политриски и их влияние на рынок (сектора акций, яндекс, розница) и экономику

     I. История с рейтингами
   Слежу за традиционными  рисками (ценовыми — [VIX,implVol] и кредитными -[iTraxx] ) и системными (рейтинги).
По Трампу, рекомендую агрегатор: https://projects.fivethirtyeight.com/trump-approval-ratings/

   А по нашим слежу за ВЦИОМ и ФОМ.

   С нового года рейтинг доверия падает как камень: 
Индекс страха, рейтинг, влияние на рынки и на экономику
https://wciom.ru/fileadmin/file/reiting/confidence_politicians_new.xlsx

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


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

О везучих дураках

Здравствуйте, дамы и господа!

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

Британский иллюзионист Деррен Браун десять раз подряд бросил монетку и десять раз подряд выпал «орел». Что это? Фокус или демонстрация экстрасенсорных возможностей? Вероятность такого события 0.5 в десятой степени, то есть около одной десятой процента, один шанс на тысячу! Ответ прост – Деррен бросал монету на протяжении 9-ти часов, до тех пор, пока, наконец, не выпала нужная серия, которую в итоге и показали по телевидению. Совершенно очевидно, что, продолжая бросать монету, он мог равновероятно дождаться серии из 11-ти «орлов» или из 11-ти «решек» (сколько времени бы на это понадобилось – второй вопрос).

Теория вероятности говорит, что маловероятное, но возможное событие скорее всего не произойдет В ЕДИНИЧНОМ испытании. Но если испытание повторить достаточно большое число раз, то даже маловероятное событие вполне может случиться.
Так и со спекулятивными операциями на финансовых рынках: единичное испытание – сделка.

Учитывая изложенное выше, кажется, что может быть проще, чем заработок спекуляциями финансовыми инструментами? Их цена то растет, то снижается, краткосрочные тенденции постоянно сменяют друг друга, чередуясь, как выпадающие «орлы» и «решки» подбрасываемой монеты. Поэтому их вовсе не нужно прогнозировать, а следует, выбирая направление позиции «наугад», случайным образом, дождаться продолжительной прибыльной серии сделок, которая по законам вероятности рано или поздно случиться, и таким образом «сорвать куш». Почему же на практике этот метод заработка не работает? Ответ на этот вопрос я дал в статье "Опыт — мудрость глупцов!"



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

От чего зависит успех. К трейдингу применимо на 100%

Выдержишь испытание тишиной — выдержишь всё. 
Самое трудное — просто быть тихим. 
Самая страшная война с самим собой и миром идёт всегда там, в тишине. 
И если ты можешь находиться в абсолютной тишине не убегая, не терпя, и не считая минут, — ты прошёл испытание Силой. 
Силён не тот, кто дерётся. 
Силён молчащий, силён внутренне собранный и готовый ко всему. 
Готовый, но не пересекающий черту. 
Во все времена воинов испытывали тишиной. 
Одиночеством. 
Закаляя готовность встретить всё, что угодно и не дрогнуть. 
Когда ты встречаешь себя в тишине, — ты воин перед лицом неизвестности. 
Дрогнуть, как потерять лицо. 
Убежать, как запутаться во лжи. 
Для воина это позор. 
Встречай тишину с радостной готовностью умереть. 
С готовностью раствориться, исчезнув. 
Как кот — расслаблен, но всегда алертен. 
Мягок — готовый к прыжку. 
Он здесь и сейчас, в тишине своего существа. 
Пребывай в тишине как кот, — сделай её своим домом. 
В этом ты зачерпнёшь силу принимать жизнь без границ. 
Ту силу, что отразится в твоих глазах. 
Тишина — это простор твоего сердца. 
Это ты сам. 

Фугэн Генкаку

Machine Learning. Kaggle соревнование по предсказание цен по американским акциям от Хедж фонда "Two sigma". Мой опыт участия.

Добрый день мои маленькие любители машинлернинга:) Наконец нашел время написать по теме.

Только что закончилось интересное соревнование на Каггле проходившее почти год, в котором я принимал участие и благополучно попал в Топ 1% и занял 20 место. https://www.kaggle.com/c/two-sigma-financial-news/leaderboard .

Machine Learning. Kaggle соревнование  по предсказание цен по американским акциям от Хедж фонда "Two sigma". Мой опыт участия.



Если кто не в курсе про Kaggle, это такая соревновательная площадка, принадлежащая гуглу, на которой различные компании ставят задачи связанные с анализом данных, и датасайтесты со всего мира соревнуются кто лучше решит. Похоже на наш ЛЧИ, только по машинлернингу. Призовой фонд на каждое соревнование как правило 10-100 тыс. долларов. (в этом конкретном было 100 тыс.). Одновременно проходит 5-10 соревнований.
Суть всех заданий примерно одна, участникам дают трэйн выборку, с известной целевой переменной и тестовую выборку без целевой переменной, которую надо предсказать.

Хедж фонд «Two Sigma» в этом соревновании поставил следующую задачу: необходимо предсказать для каждой американской акции, на сколько она будет лучше или хуже рынка, значение может принимать значение в диапазоне [-1,1] — это и есть целевая переменная, Score соответвенно меряется как усредненное значение по всем акциям и по всем дням, разницы между реальными значениеми и предсказанными целевой переменной из тестовой выборки. Подробней можно почитать здесь

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

Python в помощь тестированию структурных продуктов

Воодушевлённый статьёй с рекламой структурных продуктов на Хабре, адаптировал python-скрипт для их самостоятельного тестирования. Основная идея в том, что подобные продукты предлагают 100% защиту капитала.  А учитывая 10 лет бычьего рынка, исторические показатели подобных продуктов одурманивают безрисковым раем.

Скрипт подойдёт для быстрого и понятного тестирования своих портфелей с ребалансировкой в разные периоды. Ну а кому-то данный инструмент может пригодиться для самостоятельного построения подобных стратегий. Их наипростейшей формы. Однако брокеры пишут, что это не каждому под силу.

Код выложен в GitHub в виде Jupyter-блокнота. Поехали!



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

БАБЛО ИЗ ВОЗДУХА или теория портфельной ребалансировки.

 

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

БАБЛО ИЗ ВОЗДУХА или теория портфельной ребалансировки.

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

Таблицы Google с кучей полезных формул и информацией об индексах ММВБ, S&P500, Nasdaq и проч. от 40-летнего "пенсионера"

Я тут год назад решил инвестировать с целью достигнуть пассивного дохода, равного моим текущим расходам на жизнь — начал все активы и накопления перекидывать в фондовый рынок, всё заработанное тоже туда же. Так как я придерживаюсь мнения, что при моих входных данных рынок я все равно не обгоню, решил инвестировать «в индексы».
ETF конечно инструмент хороший, но не использую его по ряду причин:
1. Комиссии на российских ETF оставляют желать лучшего.
2. Не совсем понятная для меня структура управления опять же русскими операторами — ну это субъективно, ни в коем случае не рассматривать как претензию.
3. и главное. Непрямое владение акциями/компаниями.

Поэтому для себя потратил месяц свободного времени по вечерам и запилил такую табличку по индексу ММВБ:

1) На главной страничке вбивается в зеленое поле Цель (капитал), будь то 100 тыс. р., будь то миллиард. Все остальные поля на странице считаются автоматически.
Таблицы Google с кучей полезных формул и информацией об индексах ММВБ, S&P500, Nasdaq и проч. от 40-летнего "пенсионера"

2) На второй страничке весь индекс ММВБ (40 тикеров), +их вес в индексе на данный момент. Цена, Изм., P/E, EPS — все тянется с Google Finance, все это динамические значения и обновляются сами по себе. «Акций купить» — это сколько надо купить например Яндекса на 3,3% от суммы запланированного капитала (такой же %, как и в индексе). «Куплено» — тянется из пункта 3 (читай ниже). "% готово" — сколько собственно куплено, у меня например можно увидеть, что я люблю наших металлургов больше, чем их любит индекс мосбиржи. По дивидендам информация обновляется со Смарт-Лаба.

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

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