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

по

Найден препарат, подавляющий коронавирус за двое суток.

Найден препарат, подавляющий коронавирус за двое суток.

Антипаразитарный препарат ивермектин обладает противовирусным действием и способен подавлять размножение SARS-CoV-2 в клеточных культурах до 48 часов, выяснили ученые из австралийского Университета Монаша и Королевского госпиталя в Мельбурне. Полученные выводы опубликованы в издании Antiviral Research.
В лабораторных условиях исследователи проанализировали действие ивермектина на инфицированные коронавирусом клетки, куда они добавили лекарство спустя два часа после заражения. Оказалось, что благодаря одной дозе препарата спустя 24 часа количество вирусной РНК снижается на 93%, через двое суток — более чем на 99%.


Статистика vs конспирология: в Италии опубликовали цифры общей смертности за март

    • 11 апреля 2020, 16:34
    • |
    • Photon
  • Еще
Давайте попробуем разобраться вместе раз и навсегда относительно серьезности вируса. Мне бесконечные споры и вангования на смартлабе самому надоели. Прошу не переносить в оффтоп, если руки чешутся.

Итак.

Нашел вот такую статейку. https://vokrugsveta.ua/people/statistika-vs-konspirologiya-v-italii-opublikovali-tsifry-obshhej-smertnosti-za-mart-11-04-2020

Итальянский институт статистики ISTAT опубликовал 9 апреля отчет о статистике смертности от всех причин за март 2020 года в сравнении с такими же данными за предыдущие 5 лет (2015-2019 гг). В пояснительной записке к отчету говорится, что данные, полученные благодаря содействию МВД Италии из Национального реестра населения (ANPR), призваны способствовать “лучшему пониманию чрезвычайно ситуации в здравоохранении, связанной с COVID-19”.

Естественно мы же не будем верить просто так. Нужно проверить первичку. Там есть ссылка на итальянский сайт статистики(видимо, аналог Росстата): https://www.istat.it/it/archivio/240401

Далее ищем там ссылки (можете через гугл переводчик протолкнуть сайт, здесь ссылки должны быть рабочие на EXCEL файлы):

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

Знания не бывают лишними.

    • 11 апреля 2020, 10:51
    • |
    • mariam
  • Еще

                                                                                                                                     Лучше ничего не знать, чем знать многое наполовину!                                                                                                                                                                        Ф.Ницше

Я бы не написала этот пост, если бы не заметила некую тенденцию на СЛ: народ пишет об индикаторах системах, которые неправильно толкует.

Я бы этого не заметила, если бы не пережила того же.

Огромное количество методов и стилей биржевой торговли, индикаторов и исходных, на основании которых выстроено куча торговых стратегий.



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

Что дает статус "Квалифицированного инвестора" на Срочном рынке?

Что разрешено делать на Срочном рынке Forts московской биржи неквалифицированному инвестору с фьючерсами (контрактами) Brent и в каком объеме??? И может ли брокер втихаря присвоить статус квалифицированного инвестора клиенту, не информируя его об этом???

Вопрос по настройке портфеля в терминале TWS Interactive Brokers на случай превышения маржинальных требований.

Коллеги, всем добра!
Несмотря на завершение эпохального конкура «Опционный муфлон 2020», продолжаю уже в рабочем порядке ковыряться в текущих возможностях календарей на опционах SPY, которые дает сегодняшний рынок. К моей грусти, прошло время и дешевенькие деньги с рынка уже повыгребали, но пока вроде как  сохраняется возможность забирать их с более тяжелых по стоимости конструкций.
Итак, сейчас пробую варианты перевернуться в календарях — ближний стреддл покупать, а дальний продавать (ранее прекрасно работала обратная конструкция, но — лафа кончилась). Тесты на моделях показывают хороший результат, но тут вступают в дело маржевые требования брокера. IB календари не сольдирует по рискам, т.е. проданый стреддл считается как есть, на всю катушку. А так как на моем относительно небольшом счете в результате ГО забивается практически под завязку, есть вариант выскочить за лимиты по марже, и, как я понимаю, меня брокер закроет сам.
В принципе, в этом нет ничего страшного, даже если будут крыть по рынку — на спу дикая ликвидность, риски формально прикрыты, убыток даже в самом неприятном случае будет небольшой. Неприятности возникнут, если они решат хлопнуть только одну какую-нибудь ногу — тогда да, будет сильный перекос.

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

Общий финансовый анализ на Python (Часть 3)

    • 05 апреля 2020, 12:51
    • |
    • Aleks
  • Еще

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

Сначала немного теории:

О линейной регрессии

Линейная регрессия используется в качестве прогнозирующей модели, когда предполагается линейная зависимость между зависимой переменной (переменная, которую мы пытаемся предсказать) и независимой переменной (переменная и/или переменные, используемые для предсказания).



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

Предубеждения, которые мешают ТОРГОВАТЬ!

    • 05 апреля 2020, 10:24
    • |
    • mariam
  • Еще
Предубеждения, которые мешают ТОРГОВАТЬ!

тема

описание

Заблуждение и как их преодолеть

Территория

Предпочтение «домашнему» рынку

Ваш «домашний» рынок может и не быть самым «располагающим» торговле

Новизна

Придание большей значимости недавним событиям

Можете ли вы действительно утверждать, что прошлая неделя была вашей лучшей

Надежда, привязанность

Настойчивость в убыточных сделках – они когда-нибудь окупятся

Рынок понятие не имеет о ваших намерениях

Дисконтирование

Лучше взять сейчас малую прибыль чем большую, но позднее



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

Скрипт 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




QLua: формирование свечных данных для робота

    • 31 марта 2020, 13:37
    • |
    • _sk_
  • Еще
Поделюсь своим опытом, который может быть полезен начинающим алготрейдерам, пишущим своего робота на QLua.

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

Пример 1. Мы торгуем акции на 30-минутках и при этом не хотим учитывать свечу, которая получается в 9:30 из-за аукциона открытия, и не хотим, чтобы аукцион закрытия портил последнюю свечу дня в 18:30. Хотим только нужные свечи в одном массиве.

Пример 2. Мы торгуем фьючерсы только в дневную сессию, а вечернюю сессию выбрасываем, поскольку наша стратегия в этом случае даёт более приличный график эквити. Хочется иметь «отфильтрованный» свечной ряд.

Пример 3. Мы торгуем американские акции на Санкт-Петербургской бирже и хотим, чтобы время свечей было как в Америке, а не как на бирже, и хотим оставить только основные торги с 9:30 до 16:00 по буржуйскому времени.

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

Как заработать на случайном блуждании. Часть 4

Доброго времени суток, господа!

М-да… Вся лента забита новостями: коронавирус, нефть-матушка, кризис...

А где же будоражащие душу исследования, напрямую ведущие к Граалю? Нетути… Нетути Грааля аль, все ж таки, есть?

Продолжим путешествие в мир случайности/закономерности рыночных временных рядов с целью узреть Свет и Счастие для всех страждущих.
В предыдущих частях проекта:
https://smart-lab.ru/blog/579572.php
https://smart-lab.ru/blog/580961.php
https://smart-lab.ru/blog/582407.php
мы убедились, что заработать на теоретических случайных процессах («монетка», Laplace motion, ...) довольно просто. Пользуемся тем фактом, что сумма независимых или слабозависимых случайных величин (приращений) дает число, принадлежащее нормальному распределению Гаусса и при выходе текущей кумулятивной суммы за пределы диапазона +-Delta*1.96, где Delta = sqrt(2*(b^2)*t), заключаем сделки, а при возврате в 0 — закрываем их. Дело сделано...



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

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