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

по

Анализ торгового журнала и стратегий с помощью R

    • 05 июня 2016, 17:34
    • |
    • SciFi
  • Еще
Сегодня я решил провести анализ своего торгового журнала средствами и возможностями языка R.

Я понимаю, что есть специальные сервисы, которые позволяют анализировать торговый журнал. Но во-первых, они платные. Во-вторых, я веду свой журнал сам в Excel и мне удобнее было написать собственную программу. Тем более, что средствами R можно делать то, чего не будет в этих платных сервисах.

Взял все сделки на ФОРТС с 1 января по 1 июня 2016 года (за полгода). Их у меня было 565 штук. Торгую я роботом и руками по разным стратегиям, но записываю в журнал, почему открыл и закрыл каждую сделку. Стратегий было много разных, но я решил выделить все сделки в две группы — где я торговал роботом и где руками. 

Предварительно подготовил данные в Excel — выбрал только те столбцы, которые я планировал анализировать: дата сделки, маржа, номер стратегии (0 и 1 для ручной и робот. торговли). Создал файл CSV. И приступил к анализу в среде R. 

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

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

Что происходит с рынком труда США?

Что происходит с рынком труда США?Помнится, написал я большую обзорную статью о насыщении рынка труда США. Это было давненько, в апреле прошлого года, и с тех пор многое поменялось. Теперь, похоже, наступает период перенасыщения. Под этим термином я понимаю я понимаю не просто создание и заполнение рабочих позиций абы как и абы кем, а именно качественное трудоустройство правильным разделением рабочей силы по квалификации. Если производитель заинтересован в качестве конечной продукции, то он наверняка позаботится о качестве рабочей силы. Кроме того, квалифицированному работнику не судьба простаивать, и это означает, что такой рабочий будет занят полный рабочий день. Ещё можно добавить, что при росте спроса на сварщиков, каменщиков, монтажников, электриков и инженеров должна по идее возникнуть здоровая конкуренция, и квалифицированный рабочий, если его не устраивают условия на нынешнем предприятии, будет искать где получше, а это, в свою очередь, приведёт к росту заработных плат и

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

12 причин заниматься трейдингом

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

2. Трейдинг всегда дает право выбора. Я могу выбирать на каком финансовом рынке торговать, когда по времени торговать и при каких обстоятельствах. Если можно заработать деньги на сырой нефти, я могу в этом так же поучаствовать. Если есть хорошее движение на рынке бондов, я могу в любой момент начать торговать бондами. Абсолютно любой финансовый рынок находящийся в трендовом движении, способен приносить прибыль и мне в том числе. Я могу быть «быком» (покупать финансовый инструмент), либо «медведем» (продавать его же), по настроению и по моим предположениям. Я могу быть довольным своей торговлей «быком» или «медведем», если я следую за трендовым движением.  

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

Код для формирования минуток из таблицы всех сделок квика для спота

Порядок действий

1. Формируем в квике таблицу всех сделок со следующими параметрами

Код для формирования минуток из таблицы всех сделок квика для спота

Фильтром отбираем нужные инструменты.

2. Скачиваем из Интернета свободно распространяемый DDE сервер от Морошкина с прилагаемыми dll.
3. В соответствующих местах кода заменяем код на вот этот

using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text;
using System.Timers;
using System.Threading;
using XlDde;

namespace ConsoleApplication2
{
class Program
{
const string service = «myDDE»;
const string candleSPOT = «SPOT»;


static void Main(string[] args)
{

using (XlDdeServer server = new XlDdeServer(service))
{

server.AddChannel(candleSPOT, new SPOTChannel());
server.Register();

Console.WriteLine(«DDE server ready. Press Enter to exit.\n\n»);
Console.ReadLine();
}



}
}


// **********************************************************************
// * Классы DDE каналов с обработчиками данных *
// **********************************************************************


class SPOTChannel: XlDdeChannel
{
//static int time2 = 1000;
static int em = 7;
static int m = 1200;
static int[] NM = new int[em];
static int NMM = 0;
static int LastMinute = 0;
static int mm = 1638400;
static double[] Price_trade = new double[mm];
string[] EM_trade = new string[mm];
static int[] Time_trade_I = new int[mm];
static int[] Volume_trade = new int[mm];
static int[,] Time = new int[em,m];
static double[,] O = new double[em,m];
static double[,] H = new double[em,m];
static double[,] L = new double[em,m];
static double[,] C = new double[em,m];
static double[,] V = new double[em,m];

protected override void ProcessTable(XlTable xt)
{

//int time3 = 1000;
int[] nach = new int[em];
int nach1 = 0;
int i = 0;
int j = 0;
int s = 0;
int curHour = 0;
int curMin = 0;
int curDay = 0;
int curSec = 0;
int curDay_1 = 0;
string name;
string[] bf;
string[] EM = new string[em];
DateTime moment;
string[] Time_trade = new string[mm];



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

Мой фундаментальный анализ акций #2 Общий вью

Итак, мы сделали на смартлабе форум акций. Теперь я каждый день собираю информацию и аналитику по компаниям, и размещаю её в отдельных ветках каждой компании. К сожалению, я пока там не вижу большого интереса, но, надеюсь, со временем, ситуация изменится и мы в течение годика всё-таки победим МФД. Чтобы мне было интереснее вести раздел и участвовать в дискуссиях, я решил завести свой собственный шадрин-портфель. Но покупать акции я не спешу, и не буду их покупать каждый месяц в одно и то же число, как делает оригинальный шадрин-метод.

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

Прикинем, что у нас за реальность. Российский бюджет даже при текущих ценах на нефть вытекает со скоростью 0,5 трлн руб/мес. Власти режут расходы — это автоматом через мультипликаторы приводит к замедлению экономики. Пока этот процесс идёт — мы не достигли дна экономики.
Мой фундаментальный анализ акций #2 Общий вью
Главная проблема — это что будет с внутренним спросом, когда деньги в резервах закончатся? Я полагаю, что пока нефть не $70, такой риск существует на горизонте 1 экономического цикла. Проблема лишь в том, что бюджетный кризис должен раскручиваться достаточно долго, и реально может занять несколько лет, прежде чем достигнет пика. Скорее всего, текущие оценки на рынке акций исходят из того, что деньги в резервах РФ никогда не закончатся (не успеют).

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

Цивилизаtion 2

1е июня. Раз обещал… начну потихоньку. 

Для тех, кто не читал начало: http://civilizationbook.ru/download/

PS Это пока рукопись. Без редактуры, корректуры и прочей -уры. Есть идеи или замечания — вэлком.


Цивилизаtion 2

Глава 1


Что может человек, находясь на родной планете? Ведь все, что мы видим: слой морей и океанов, горы, долы, атмосфера — это целлофановая пленочка на огромном шаре. Сколько там диаметр Земли? Почти 13 тысяч километров? А перепад высот в отдельно взятом месте? Километров пять? Получается, что шероховатость имеет толщину всего 0.0002 от размера Земли. Атмосфера для дыхания — меньше одной тысячной. Если бы мы взяли планету в руку, как бильярдный шар — то не почувствовали даже щербинки. Весь мировой океан, тонкой пленкой размазанный по поверхности, стек бы с шарика в виде двух капелек, а атмосферу получится собрать в пипетку. Мы совершенно ничтожны в рамках Земли, которая, в свою очередь, ничтожна даже в Солнечной Системе, не говоря уже о космосе.



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

О майнинговом подходе и вычленении эджа при построении торговых систем

Эта обучающая заметка призвана раскрыть некоторые элементы технологии производства торговых систем. Существует два основных подхода к созданию биржевых алгоритмов. Первый стартует с некой идеи, например--25-го числа уплачивается НДПИ, что может влиять на курс рубля. Далее эта идея проверяется и находит/не находит подтверждения. Это неплохой подход, но у него есть недостаток--число идей, приходящих в голову, ограничено. Кроме того, опыт построения систем показывает, что зачастую логика происходящего такова, что чистой силой ума допереть до нее тяжело. Поэтому более плодотворным (хотя и не приносящим такого удовольствия, как сила ума) является второй подход, связанный на начальном этапе с чистым майнингом. То есть никаких особых идей вначале нет--просто берется некий алгоритм, в принципе, почти любой. Но надо, чтоб он не был перегружен правилами--иначе на следующих этапах будет сложно. И смотрится, что получается. В результате таких действий рано или поздно получится хорошая кривулька эквити (эта стадия может занимать значительное время). И тут вопрос--это просто такая реализация броуновского движения, или там что-то есть? И вот здесь надо хорошенько поработать. Изучать сделки, менять параметры, менять правила--и смотреть, что получается, анализировать. Этот процесс во многом напоминает эволюцию в живой природе, фактически это генетическая оптимизация, понимаемая в широком смысле. И иногда оказывается, что в рынке действительно есть отклонения от СБ, а что еще нужно для счастья? :)

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

К вопросу об Альфе

Классический расчет α управления осуществляется через линейную регрессию:


ΔSt=βΔBt+α+εt,

где ΔS — приращение счета в %, «очищенное» от вводов-выводов (для фондов — приращение стоимости «пая» или акций фонда),
ΔB  — приращение бенчмарка в %,
εt — ошибка линейной регрессии.

Как видите, «лучше бенчмарка» на росте или на падении ничего не говорит нам о знаке α. Потому что быть лучше бенчмарка на росте можно за счет β>1 даже с отрицательной альфой, а на падении — за счет β<1. И только одновременный «обыгрыш» бенчмарка и на росте и на падении приведет к тому, что α, рассчитанная по всему периоду будет положительна. Более того, α может быть положительна и при проигрыше бенчмарку на росте и только при проигрыше бенчмарку на падении она с большой вероятностью будет отрицательна.

Но все, кто хоть раз считал α и β, прекрасно знают, что они нестационарны по времени и их значения, вычисляемые, например, по 100 тактам, временами сильно отличаются от результатов расчетов на всей истории. Но это хоть можно наглядно отследить, построив «альфа-бета карту» относительно бенчмарка. Вот, например, 100-дневная «альфа-бета карта» для нашего расчетного портфеля, ранее называвшегося «Суперриск»:

К вопросу об Альфе
относительно бенчмарка, определенного здесь (аналог рублевого buy&hold на фьючерсе, только рассчитываемый по значениям самого индекса)

К вопросу об Альфе

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

Как создать торгового робота для Московской биржи MOEX на MetaTrader 5?

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

 

Торговать на бирже с помощью роботов — это просто

Язык MQL5 изначально поддерживает все торговые возможности платформы MetaTrader 5 — в нем множество торговых функций для работы с ордерами, позициями и торговыми запросами. При этом не имеет значения, на каком рынке вы торгуете -  фьючерсы, акции, опционы и т.д.

Средствами MQL5 вы можете создать торговый запрос и отослать его на сервер с помощью функций OrderSend() или OrderSendAsync(), получить результат его выполнения, просмотреть торговую историю, узнать спецификацию контракта для инструмента, обработать



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

Реверс инжиниринг способа угадывания гэпа вверх в Си

На смартлабе очень мало чего можно почитать начинающему алготрейдеру. Если кто и пишет — все больше эквити выкладывают, а на идеи стратегий даже не намекают. Один из товарищей которых я читаю — silentbob  ( http://smart-lab.ru/profile/silentbob/ ). Он периодически выкладывает что-то из своих наблюдений, на основе которых вполне пишутся рабочие стратегии.

В своё время он предлагал выложить выложить устойчивый метод угадывания гэпа вверх в Си за 350 плюсиков
smart-lab.ru/blog/206454.php
За плюсики смартлабовцы метод не выкупили и для многих он остался загадкой)) Эквити у метода была вот такая:
Реверс инжиниринг способа угадывания гэпа вверх в Си

Идея простая: покупаем в 23-45 при выполнении определенных условий и продаем в 10-15. Я потратил какое-то время и постарался найти стратегию с похожими параметрами. Совсем такой же у меня не получилось, но что то все таки нашел:

Реверс инжиниринг способа угадывания гэпа вверх в Си



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

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