Избранное трейдера Андре Слон-Ик

по

Моделирование Торговых Систем на Python. 1.

    • 09 мая 2020, 19:31
    • |
    • 3Qu
  • Еще

Для моделирование ТС на Python, прежде всего нужен сам Python. Pythonы бывают очень разные.

Самый большой и длинный Python — Anaconda (https://anaconda.org/). Скачать дистрибутив Anaconda можно здесь — Индивидуальное издание -https://www.anaconda.com/products/individual.
Я работаю именно с Anaconda. Установив Anaconda мы получаем сам Python, уже установленные значительную часть нужных и ненужных пакетов с библиотеками Python, и несколько сред разработки. И все это сразу готово к работе, и нам, по большей части, уже не придется дополнительно устанавливать пакеты и среды.

Самый маленький Python последней версии 3.8.2. скачивается с сайта самого Python — https://www.python.org/. Это, практически, только сам язык, компилятор и минимальный набор пакетов. Сделать с ним практически ничего невозможно, и для работы придется постоянно устанавливать нужные пакеты. Среду разработки придется также устанавливать самостоятельно.
Этот Python больше подходит для запуска и работы с уже отлаженными законченными программами.



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

постановление от 30 апреля 2020 года №616

Приветствую! Перед тем как уйти на больничный Мишустин подписал очень важное постановление от 30 апреля 2020 года №616, его опубликовали 1 мая в день труда.

Никто не обратил внимания на этот любопытный документ. Оно и понятно, многим просто не выгодно освещать такие события ведь есть установка ВСЁПРОПАЛО — ВСЁПЛОХО 
постановление от 30 апреля 2020 года №616
полный текст смотрите по ссылке http://government.ru/docs/39620/


5 классных сервисов от инвестиционного гиганта BlackRock, которые помогут оценить рынок

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

5 классных сервисов от инвестиционного гиганта BlackRock, которые помогут оценить рынок



№1. Монитор геополитических рисков

Политика влияет на экономику, экономика влияет на финансовые рынки. Если где-то начинается торговая война, то котировки падают. Если в Багдаде все спокойно, а на подходе новый караван экономических соглашений — рынки растут. Отслеживать воинственность мировых настроений позволяет Geopolitical Risk Dashboard.

5 классных сервисов от инвестиционного гиганта BlackRock, которые помогут оценить рынок



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

Краткий разбор танкерного флота в мире

Общее количество танкеров в мире на 1 февраля 2014 г. составляло 12 975 единиц, в это число входят все типы танкеров, а их великое множество, например, танкеры для перевозки битума, газа, воды и т.д.

На 1 февраля 2014 года было:
VLCC — вместимость 2 млн баррелей нефти, 623 единицы.
Суэцмакс - вместимость 1 млн баррелей, около 490 единиц.
Афрамакс - вместимость 500-700 тыс. баррелей, более 900 единиц.
Панамакс — вместимость380-500 тыс баррелей, около 415 единиц.

Итого около 2428 танкеров.

Согласно данным сайта statista.com к апрелю 2020 года в мире было следующее количество танкеров по типам
Краткий разбор танкерного флота в мире

Итого 2210 танкеров, желающие могут посчитать сколько вместится нефти в этот флот, хотя в целом в настоящее время в мире насчитывается около 7000 судов этого вида и не все они могут осуществлять перевозку через океан.

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

Фонд, который съел нефтяной рынок(repost expert.ru)

Случившийся на этой неделе рекордный обвал цен на нефть в немалой степени спровоцирован действиями крупнейшего нефтяного фонда планеты — United States Oil Fund LP (USO), созданного 14 лет назад, в апреле 2006 года, для отслеживания изменений цен на нефть WTI. Здесь следует помнить, что этот фонд из разряда биржевых (ETF) и что он имеет активы на данный момент стоимостью примерно 4 млрд долларов.

У USO было по разным оценкам до 25% всех майских фьючерсов на нефть марки WTI, срок действия которых истекал во вторник, 21 апреля. Это значит, что владельцы этой «бумажной» нефти должны получить нефть настоящую. Получать миллионы баррелей физической нефти главному владельцу USO — U.S. Commodity Funds (USCF) очень не хотелось. Выход оставался один – срочно продать майские фьючерсы.USO это и сделал, хотя и прекрасно понимал, что продажа такого огромного количества фьючерсов приведет к хаосу на рынках. После того, как Фонд выбросил все майские фьючерсы на рынок, они рухнули на 310%. В результате цена бочки нефти WTI к вечеру в понедельник опустилась до 38,45 доллара со знаком минус! То есть некоторое время продавцы нефти платили покупателям немалые деньги за то, что те забирали у них нефть.Естественно, WTI потянула за собой и все остальные марки нефти, то есть произошел очередной рекордный обвал цен на «черное золото». Остальные марки нефти, включая Brent и Urals тоже резко подешевели, но все же у них обвал был не такой сильный, как у «техасской» нефти.Самому USO тоже сильно досталось, за два дня он потерял более трети своей стоимости, а цена акций опустилась до 2,81 доллара. В понедельник акции USO подешевели на 10% с лишним, а во вторник рухнули более чем на 30%. Всего же за неполных четыре месяца 2020 года падение составило 75%.



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

Куда вложить накопленное?

Куда вложить накопленное?

Всем доброго дня!

В текущих условиях короноэкономической ситуации, когда из-за изоляции полностью проседает вся экономика (снижение потребления, и как следствие производства, ведет к снижению доходов населения, занятого практически во всех сферах) – возникает вопрос: «А где же собственно сейчас безопасно держать свои финансы?» В каких инструментах или коммодити?

Озадачился я этим вопросом неспроста. Я работаю на хорошей позиции в крупной российской нефтяной компании. Путем жесткого учета расходов — все необходимые затраты на жизнь моей семьи составляют порядка 1/3 от моих доходов или порядка 1/4 от общесемейного бюджета. Ранее, естественно, никогда не возникало вопроса куда девать «остающееся».

У меня два основных брокера – Сбербанк (ИИС под дивидендные акции, брокерский счет под облигации, ETF и дивидендные спекуляции) и ВТБ (высокодоходные облигации). Помимо этого, я занимаюсь краудлендингом, то есть «даю деньги в долг частникам» на платформах Ozon.Invest (заемщики только из числа продавцов на Озоне, до 18% процентов годовых) и Сберкредо (заемщики как правило ИП, прошедшие скоринг, но видимо малонадежные, потому что до 34 процентов годовых). Разумеется, есть существенный объем кэша на экстренный случай, некоторое количество инвестиционных золотых монет (Победоносец, ММД) и несколько лет назад я начал покупать антикварные книги. Есть пара майнеров на шумоизолированном балконе, которые добывают свои 10-12 долларов в день и некоторый объем биткоинов на защищенном криптокошельке Ledger.



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

Три грааля l 3 часть

    • 20 апреля 2020, 09:46
    • |
    • Larry99
  • Еще

Грааль №3. Три индейца. После некоторого тренда три последовательно
восходящие вершины образуются на одной линии. Это лучший признак
истощения тренда. Ждем первую же полновесную импульсную свечу в
обратном направлении и открываем сделку. Стоп за границей последней
вершины или еще лучше за границей импульсной свечи
Три грааля l 3 часть



Три грааля l 1 часть

    • 16 апреля 2020, 21:51
    • |
    • Larry99
  • Еще

На последнем собрании Клуба инвесторов ростовского представительства
крупнейшего российского брокера нам опять раздавали свежие граали.
Вернее не свежие, а взятые из книги американки Линды Рашке «Биржевые
секреты». Эта дама торговала по ним еще в 1981 году. Но качество
сигналов от этого не испортилось.

Три грааля l 1 часть


Вот результаты применения трех граалей на произвольно взятом графике
(5-минутки Сбербанка за 10 торговых дней в мае-июне 2013г). Получилось
16 великолепных сигналов и ни одного стопа!
Три грааля l 1 часть



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

Скрипт lua Баланс покупок/продаж

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

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




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