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

Вчерашнее падение фьючерсов на американскую нефти до минусовых значений – событие, которое в том или ином виде однажды обязательно должно было произойти. Разгон экономик и компенсация их потерь масштабными монетарными стимулами приводит не только и не столько к экономическим успехам. В первую очередь оно создает финансовые пузыри. Пузырь последних лет оказался беспрецедентным и по величине, и по влиянию на ценообразование глобальных активов. Это пузырь – спекулятивный капитал.
Биржи окончательно превратились в площадки для сделок пари: один выиграл, один проиграл. Хеджирование стало наиболее рискованной разновидностью спекуляций. Само понятие хедж-фонд вполне извращенно предлагает заработать на использование инструментов финансовой страховки. Инвестиционная компания – это уже давно разновидность букмекерской конторы или интеллектуального казино.
Спекулятивная индустрия существовала и до 21 века, но с конца нулевых стала угрожающе увеличиваться. Как раз за счет монетарных вливаний. Которые, в большинстве, так и не дошли до реального потребителя, оставшись циркулировать в сделках спекулятивного толка.
TICER = "SBER";
CLASS_CODE = "TQBR";
FilePath = getScriptPath() .. "\\export.txt";--путь к файлу
save = false;--сохранять данные в файл если false нет, true да
f = nil;
stopped = false;
t_id = nil
H = -1;
M = -1;
VSELL = 0;
VBUY = 0;
CDelta = 0;
CountTrans = 0;
PriceTrans = 0.0;
t = "";
function OnInit()
CountTrans = 0;
if save then f = io.open(FilePath,"w"); end
CreateTable();
end
function main()
while not stopped do
if IsWindowClosed(t_id) then
stopped = true;
end
sleep(10);
end
end
function CreateTable()
t_id = AllocTable();
AddColumn(t_id, 0, "Время", true, QTABLE_STRING_TYPE, 10);
AddColumn(t_id, 1, "BUY", true, QTABLE_INT_TYPE, 10);
AddColumn(t_id, 2, "SELL", true, QTABLE_INT_TYPE, 10);
AddColumn(t_id, 3, "Дельта V", true, QTABLE_INT_TYPE, 10);
AddColumn(t_id, 4, "AVG Цена", true, QTABLE_DOUBLE_TYPE, 15);
AddColumn(t_id, 5, "Накопленная Дельта", true, QTABLE_INT_TYPE, 15);
AddColumn(t_id, 6, "Кол-во сделок", true, QTABLE_DOUBLE_TYPE, 12);
tab = CreateWindow(t_id);
local NAME = tostring(getParamEx(CLASS_CODE,TICER,"LONGNAME").param_image);
SetWindowCaption(t_id, TICER.." ("..NAME..") Баланс покупок/продаж");
SetTableNotificationCallback(t_id, EventCallBack);
end
function Calc(alltrade)
if bit.test(alltrade.flags, 0) then VSELL = VSELL+alltrade.qty; --Продажа
else VBUY = VBUY+alltrade.qty; end
CountTrans = CountTrans+1;
PriceTrans = PriceTrans+alltrade.price;
end
function OnAllTrade(alltrade)
if alltrade.sec_code == TICER then
local Rows, Col = GetTableSize(t_id);
if H==-1 or H~= alltrade.datetime.hour then
H = alltrade.datetime.hour;
M = alltrade.datetime.min;
t = tostring(alltrade.datetime.hour)..":"..tostring(alltrade.datetime.min);
end
if M==alltrade.datetime.min then
Calc(alltrade);
else
M=alltrade.datetime.min;
InsertRow(t_id, -1);
local Delta = VBUY-VSELL;
Price = PriceTrans/CountTrans;
SetCell(t_id, Rows, 6, tostring(CountTrans));
SetCell(t_id, Rows, 0, t);
SetCell(t_id, Rows, 1, tostring(VBUY));
SetCell(t_id, Rows, 2, tostring(VSELL));
SetCell(t_id, Rows, 3, tostring(Delta));
local SEC_SCALE = tostring(getParamEx(CLASS_CODE,TICER,"SEC_SCALE").param_value);
SEC_SCALE = string.format("%.0f",SEC_SCALE);
SetCell(t_id, Rows, 4, string.format("%."..SEC_SCALE.."f", tostring(Price)));
if Rows>=2 then
local OldPrice = tonumber(GetCell(t_id,Rows-1,4).image);
if OldPrice>Price then
Red(Rows,4);
else
Green(Rows,4);
end
CDelta = tonumber(GetCell(t_id,Rows-1,5).image);
CDelta = CDelta + Delta;
else
CDelta = Delta;
end
SetCell(t_id, Rows, 5, tostring(CDelta));
if Delta<0 then Red(Rows,3); end
if Delta>0 then Green(Rows,3); end
if CDelta<0 then Red(Rows,5); end
if CDelta>0 then Green(Rows,5); end
if save then
local Str = tostring(H)..";"..tostring(M)..";"..tostring(VBUY)..";"..tostring(VSELL)..";"
..tostring(Delta)..";"..tostring(Price)..";"..tostring(CDelta);
Str=Str.."\n";
SaveFile(Str);
end
t = tostring(alltrade.datetime.hour)..":"..tostring(alltrade.datetime.min);
VBUY = 0;VSELL = 0;
PriceTrans = 0;
CountTrans = 0;
Calc(alltrade);
end
end --if alltrade.sec_code == TICER then
end
function SaveFile(Str)
if f ~= nil then
f:write(Str);
f:flush();
end
end
function Red(row,col)
SetColor(t_id, row, col, RGB(255,0,0), RGB(0,0,0), RGB(255,0,0), RGB(0,0,0));
end
function Yellow(row,col)
SetColor(t_id, row, col, RGB(240,240,0), RGB(0,0,0), RGB(240,240,0), RGB(0,0,0));
end
function Green(row,col)
SetColor(t_id, row, col, RGB(0,200,0), RGB(0,0,0), RGB(0,200,0), RGB(0,0,0));
end
function EventCallBack(t_id, msg, par1, par2)
if msg==QTABLE_CLOSE then
OnStop();
end;
end
function OnStop(s)
if f ~= nil then f:close(); end
if t_id ~= nil then
DestroyTable (t_id);
end;
stopped = true;
end




Представьте себе, что вы собрались купить в скором будущем, какое либо украшение для себя или любимого человека…
Но золото все время скачет в цене, и чтобы обезопасить свою покупку, вы договариваетесь с магазином о том, что определенное время, допустим через полгода, вы купите определенное украшение по определенной цене! Не дороже! И платите магазину за эту услугу небольшую сумму в виде залога…
Что произошло? Вы заключили опционный договор
Магазин ОБЯЗАЛСЯ продать вам это украшение по цене указанной в договоре и в определенную дату.
А вы в свою очередь получили ПРАВО купить в магазине это украшение по этой цене через полгода…
Вот и вся суть…
Далее проходит полгода…
Вы приходите в магазин и видите что золото сильно подорожало, и ваше украшение стоит уже дороже, вы показываете договор и покупаете это украшение по той цене, которая была вами зарезервирована полгода назад.
Корнеры — это самые сладкие моменты на рынке для зарабатывания больших денег, быстро. Мои компаньоны, о которых я буду рассказывать в своем повествовании «Как я заработал 3 млн. долл.» и с которыми мы сейчас управляем нашей Сбалансированной стратегией, часто брали и берут часть таких движений. На мой взгляд, это крайне сложно, в первую очередь, психологически. Как можно не продать, когда ты удвоил счет за пару дней и можешь на эти деньги прикупить машину или квартиру.
Вот, нашел забавное определение этого события: «Корнер (corner — в буквальном смысле загон в угол) — старинное биржевое развлечение крупных игроков или трейдерских пулов по разводу рыночных лохов представляющих себя медведями на трудовые копейки. Проявляется, как дикий безудержный рост того или иного актива за счет закрывающих свои шорты медведей. Цена при этом улетает по экспоненте в стратосферу, что часто является окончанием карьеры большинства сильно прокаченных в математике любителей Илана и прочих этих ваших мартингейлов».