Избранное трейдера V.V.

по

Почему не стоит держать золото в среднесрочном портфеле? (-;

Почему не стоит держать золото в среднесрочном портфеле?
Этот индикатор входит в ТОП-10 используемых мной за последние 9 лет (к сожалению, раньше я его не знал). Связанно это с тем, что я до сих пор не могу определиться золото мне нравится больше, хорошее вино, или всё вместе сразу и МНОГО (шутка). (-:
Как Вы можете видеть, наблюдается «дивергенция». Вино «всегда право». (-:

Почему не стоит держать золото в среднесрочном портфеле? (-;



Open Source : Lua - MatLab Connector (3)



Краткое описание :

Библиотека Matlab2Lua  позволяет интегрировать Lua скрипты и Маtrix Laboratory Engine.


Полное описание :

Библиотека позволяет Lua и Матлаб обмениваться данными при помощи функций :

lua variable = Get( string Matlab varname );  — получение переменной из среды матлаб по имени, поддерживаются Double Array, Cell Array of Strings, Double Value, Integer Value, String Value. Возвращает -1 в случае неудачи.

int Eval ( string MatlabСommand ) — передает команду в MatLab Command Line, в качестве переменной типа string; возвращает -1 в случае неудачи, и 1 в случае успеха.

int PutVal( string Name, string/number Value) — передает в Матлаб значение Value типа string или number под именем Name. 1- успех, -1 — неудача.

int PutDouble( string Name, table T) — передает в Матлаб под именем Name таблицу Луа, заполненную численными значениями. Ответ — аналогичный.

int PutCell( string Name, table T)  — передает в Матлаб под именем Name таблицу Луа, заполненную строковыми или численными значениями, подлежащими преобразованию в строки. Ответ — аналогичный.


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

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




Рэй Далио предсказал крах США. Куда выводить активы?

Рэй Далио выпустил статью, где показал свои исследования за последние полтора года. Суть исследования в том, чтобы найти паттерн, когда одна доминирующая страна сменяет другую. Найти закономерности, по которым можно предсказать закат одного мироустройства и рождение другого. Выводы и информация в этой статье крайне интересные, и требуют внимания каждого, кто занимается инвестициями, ведь в противном случае, вы имеете все шансы оказаться в дураках.
Все мы активно используем рынки США в качестве одного из приоритетных инструментов инвестирования. Но США имеет целый ряд структурных проблем, которые на фоне текущего кризиса могут стать для позиций этого государства фатальными. Что делать в этой ситуации? Насколько велики шансы на изменение мироустройства, и по какому сценарию оно произойдёт? Обо всем этом рассказал в видео обзоре последней статьи Рэя Далио.

Лучше тысячи слов: какие классы активов надо держать.

слайд от Дмитрия Шагардина  из БСПБ Капитал (@BSPB_Capital) о том, где мы находимся и какие классы активов надо держать
Лучше тысячи слов: какие классы активов надо держать.

Построение торговой системы. Часть 2. Какие торговые системы можно торговать роботом

Предыдущие части опубликованы вчера, доступны по ссылке:

0. Введение
1. Торговля с помощью робота

2. Какие торговые системы можно торговать роботом
3. Какие инструменты годятся для торговли роботом, диверсификация
4. Выбор индикаторов и их параметров для системы
5. Как построить торговую систему на тестах исторических данных
6. Психологические аспекты торговли роботом
7. Выводы кратко

Кому-то эта информация будет неинтересна, кому-то будет полезна. Это не грааль, но правота подтверждена результатами в отчете брокера.

2. Какие торговые системы можно торговать роботом

 

Есть несколько принципов на которых основана робота торговых роботов. Можно выделить следующие категории: HFT роботы – высокочастотные роботы, расположенные близко к бирже, имеющие сложную техническую инфраструктуру. Эта категория роботов борется за каждую миллисекунду в скорости получения информации с биржи и выставлении заявки. Они зарабатывают прибыль на неэффективностях рынка, обгоняя в скорости человека и других роботов, зарабатывая в каждой сделке относительно небольшую сумму, но совершая большое количество сделок. Конкурировать в домашних условиях в этой категории роботов проблематично.



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

Как заработать на случайном блуждании. Часть 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 — закрываем их. Дело сделано...



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

Новичкам. Разбираемся с опционным doctor'ом. Изучаем греки: тету, дельту, гамму, вегу.

Всем привет.

Продолжаем грызть тему опционов по рекомендуемой ранее литературе (см.здесь).

Сегодня мы добрались до 11-ой Главы «Греки».

Изучив данный материал, окажемся на 150 странице книги, а это значит, что в теме опционов на текущий момент ваш покорный слуга прокачан уже на 150/400=38%.

Попутно разберемся с местным опционным doctor , который, судя по всему, считает себя умнее всех, при этом даже не понимает того, о чем он пишет. Его топик был здесь.

Итак, цитата:
Уже и не знаю, сколько раз это было написано, в том числе и здесь, но повторю еще раз.Торгуя опционы, Вы торгуете гамму и вегу. Т.е., прогнозируете будущую волатильность базового актива и IV. Тета — это просто последствия Вашей гамма-ставки.Если ставите на то, что в ближайшие n-дней диапазон движения актива будет меньше, чем за последние n-дней, то создаете позицию с отрицательной гаммой. Соответственно, тета позиции будет положительной.


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

Инвестиции без границ. Как получить доступ к иностранным биржам из России

Инвестиции без границ. Как получить доступ к иностранным биржам из России (и других стран, их много)

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

 

Для примера:

В РФ  на Московской бирже  всего  около 300 компаний.

И для сравнения в США, на крупнейших биржах NYSE и NASDAQ

Более 6000 компаний. И это две биржи из США. А их там несколько.

 

Плюс еще более 100 рынков по всему миру. Ну и компаний тоже представьте сколько?

 

 

Глобальные рынки акций по-прежнему привлекательнее с точки зрения доходности, чем российский рынок. 

Также помните, уже писал про ETF фонды:

Биржевые ETF-фонды: как работают, как инвестировать в ETF, риски и возможный доход, рекомендации

https://smart-lab.ru/blog/605103.php

 

Далее.

Напомню, Линейка доступных инструментов также несопоставима с отечественным рынком. «На Московской бирже торгуются 283 акции и расписки. Для сравнения: на рынке акций США — более 6000 бумаг, на европейском рынке — более 4000, в Китае — более 3000»



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

Где брать качественную информацию по рынку

Откуда я черпаю информацию?

Есть несколько источников: интернет-сайты, телеграмм-каналы, приложения, радио, Твиттер, Instagram, Research банков, TV. Все источники должны работать на вас 24 часа в сутки.  

Сайты:

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



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

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