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

по

Скрипт lua читающий таблицу обезличенных сделок.

Всем привет. Может кому пригодится. Скрипт читает ленту сделок и раз в минуту подсчитывает разницу между покупками и продажами. Часть кода нашел в интернете часть кода написал сам. Не знаю может уже есть что то подобное. Цель была не написать что то оригинальное, а наработать навыки программирования на lua.

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

Переход на 64-бит Quik. Пляски с DLL. 2.

    • 22 марта 2020, 18:00
    • |
    • 3Qu
  • Еще

Не далее как вчера опубликовал топик "Смена x86 Quik 7.27.2.1 на x64 Quik 8.4.1.6. Пляски вокруг DLL", где кратко рассказывалось как перекомпилировать проект С++ с платформы х86 на х64. Надеюсь, что у вас все уже получилось или получится.
Но я «крутой» программист, и, естественно, у меня вначале вообще ничего и никак не получалось. А так как проект большой, да еще и непонятно в чем дело, а своими экспериментами я могу вообще все испортить, то решил сделать маленькую простенькую DLL LuaProba.dll, на ней отработать переход на х64, и потом перенести это в большой проект.
Привожу код С++ DLL целиком:

// LuaProba.cpp: определяет экспортированные функции для приложения DLL.
//

#include "stdafx.h"
#include <stdio.h>
#include <string.h>

//=== Необходимые для Lua константы ============================================================================//
#define LUA_LIB
#define LUA_BUILD_AS_DLL

//=== Заголовочные файлы LUA ===================================================================================//
extern "C" {
#include "Lua\lua.h"
#include "Lua/lauxlib.h"
}

static int forLua_TestFunc(lua_State *L) // Возвращает заданный текст
{
        const char *cc = "Привет из C/C++ и от меня 2 раза"; //str.c_str();
        lua_pushstring(L, cc);
        return(1);
}

//= == Регистрация реализованных в dll функций, чтобы они стали "видимы" для Lua == == == == == == == == == == == == == == == ==//
static struct luaL_reg ls_lib[] =
{
        { "TestFunc", forLua_TestFunc },
        { NULL, NULL }
};

//=== Регистрация названия библиотеки, видимого в скрипте Lua ==================================================//
extern "C" LUALIB_API int luaopen_LuaProba(lua_State *L)
{
        luaL_openlib(L, "LuaProba", ls_lib, 0);
        return 0;
}
Весь проект DLL для VS 2015 можно скачать по ссылке - 

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

Индикатор поглащение перехай с объемами

индикатор показывает что по сберу падение еще даже и не начиналось, похоже на то что продажи начнутся после выплаты дивов
Индикатор поглащение перехай с объемами



сам код:

Settings={
Name="abs_over_vol",
period=20,
line=                                     
                {  
                                        {  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 0)
                    }
                }

}
--[[

описание свойств:
period - период, за каротрый делается расчет

назначение:
построение поглащения и перехая с использованием объемов



--]]

function Init()
  y = 0         
  return 1
end

function OnCalculate(index)
    
  sz = Size()
  n = Settings.period
  

  if index == 1 then 
   y = 0  
  end  
       

   i = index

   
   if index-n > 0 then
        
        if (C(i) < C(i-1)) and (C(i-1) > O(i-1)) and (C(i) < O(i)) and
       (C(i-1) - O(i-1) < O(i) - C(i))  then
      y = y - 1*V(i)       
        end
        
        if (C(i) > C(i-1)) and (C(i-1) < O(i-1)) and (C(i) > O(i)) and
       (O(i-1) - C(i-1) < C(i) - O(i))  then
      y = y + 1*V(i)               
        end     
        
        if (H(i) > H(i-1)) and (L(i) > L(i-1)) then
      y = y + 1*V(i)               
        end
        
        if (H(i) < H(i-1)) and (L(i) < L(i-1)) then
      y = y - 1*V(i)               
        end     
        
   end 
   
   return y
 
  
end

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

    • 22 марта 2020, 13:48
    • |
    • Aleks
  • Еще
Ну что продолжим?

Скользящее окно(Moving Windows)

В заголовке я привел дословный перевод. Если кто меня поправит, и другой термин применяется — то спасибо.

Смысл скользящего окна– с каждым новым значением функция пересчитывается за заданный период времени. Этих функций большое количество. Для примера: rolling.mean(), rolling.std(), которые чаще всего и используют при анализе движения акций. rolling.mean() — это обычная скользящая средняя, которая сглаживает краткосрочные колебания и позволяет визуализировать общую тенденцию.

# Выделяю скорректированную цену закрытия 
adj_close_px = sber['Adj Close']

# Вычисляю скользящую среднию
moving_avg = adj_close_px.rolling(window=40).mean()

# Вывожу результат
print(moving_avg[-10:])
Общий финансовый анализ на Python (Часть 2)
Дальше построим график, чтоб лучше понять то, что получается в результате работы данной функции:
# Вычисление короткой скользящей средней
sber['40'] = adj_close_px.rolling(window=40).mean()

# Вычисление длинной скользящей средней
sber['252'] = adj_close_px.rolling(window=252).mean()

# Построение полученных значений
sber[['Adj Close', '40', '252']].plot(figsize=(20,20))

plt.show()


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

Как из-за новых технологий погибают сильные компании?!

Кризис 2020 — это самое время для работы над постулатами из этой книги! В этом году можно заработать на «подрывных инновациях» (disruptive innovation)

«Дилемма инноватора» - это библия для Предпринимателей, открывающих старт-ап компании, а также для антикризисных управляющих. Книга полезна маркетологам для понимания рыночных процессов 21 века. Автор раскрывает ответ на вопрос — как одиночкам или малым командам побеждать корпорации-монстры в определённых сегментах рынка и далее вытеснять корпорации с основной рыночной ниши?!
Хотя и для корпораций здесь есть лайф-хаки: для устойчивости бизнеса нужно создавать спин-оффы; своевременно поглощать молодые компании с «подрывными инновациями» и т.д. Вообще советам директоров надо быть гибче, а с людьми из низших должностей  — помяхше ;)

В современном фондовом рынке:
1) Почему компания Heinz упустила тренд на эко-продукты?
2) Почему AT&T потеряла Клиентов из-за инновационных 4G сетей?
3) Почему Tesla так легко стала лидером с технологиями электрокаров?

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

Индикатор поглощение

заготовка индикатора для quik
бычье, медвежье поглощение
Индикатор поглощение


сам код:
Settings={
Name="absorption",
period=20,
line=                                     
                {  
                                        {  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 0)
                    }
                }

}
--[[

описание свойств:
period - период, за каротрый делается расчет

назначение:
построение поглащения



--]]

function Init()
  y = 0         
  return 1
end

function OnCalculate(index)
    
  sz = Size()
  n = Settings.period
  

  if index == 1 then 
   y = 0  
  end  
       

   i = index

   
   if index-n > 0 then
        
        if (C(i) < C(i-1)) and (C(i-1) > O(i-1)) and (C(i) < O(i)) and
       (C(i-1) - O(i-1) < O(i) - C(i))  then
      y = y - 1    
        end
        
        if (C(i) > C(i-1)) and (C(i-1) < O(i-1)) and (C(i) > O(i)) and
       (O(i-1) - C(i-1) < C(i) - O(i))  then
      y = y + 1    
        end     
        
   end 
   
   return y
 
  
end
  • обсудить на форуме:
  • QUIK

Стратегия Поплавок. Робот-тестер на Луа и Питоне с описанием.

    • 16 марта 2020, 19:49
    • |
    • Albus
  • Еще
--ВВЕДЕНИЕ--
Пост будет полезен только разработчикам алгоритмических стратегий. Здесь нет прорывных идей. На истории стратегия прибыльная, но опыт показывает, что эта прибыльность иллюзорна и не гарантирует успех в будущем. По любой стратегии можно найти комбинацию параметров, которая прибыльна на прошлых свечках. Но радоваться, что ты нашёл Грааль, рано. На будущих сделках эти параметры скорее всего будут убыточными.
Тем не менее, подгонка под исторические данные — штука интересная, поэтому пишу этот пост. В нём вы найдёте рабочий тестер для описанной стратегии, который можете использовать как захотите. 

---ОПИСАНИЕ СТРАТЕГИИ---
Назовём её «Поплавок», потому что это стратегия выныривания из зоны перепроданности.
1. Ждём, когда индикатор RSI сформирует двойное дно.
2. Оба дна должны быть ниже какого-то горизонтального порога по RSI, например 25.
3. Подъём (выныривание) выше этого порога мы считаем признаком разворота и покупаем.
4. Прибыль забираем, когда акция дорастёт до (к примеру) уровня 50 по RSI. Скрипт умеет подбирать и этот параметр. Часто наилучшим вариантом будет продавать при RSI = 70 или даже RSI = 80, то есть уже в состоянии сильной перекупленности. Но эту фразу не воспринимайте как рекомендательную, ведь все эти прогоны на истории ищут лучший вариант в прошлом, но это не гарантирует успеха в будущем.

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

Подборка книг для финансиста

    • 15 марта 2020, 11:43
    • |
    • Vlad
  • Еще
Хотел бы привести список книг на финансовую тему с помощью которых я стал миллионером, сначала рублёвым, потом долларовым, а потом и евровым, и всего за каких-то 5 лет. 😃
Фундаментальная оценка

Инвестиционная оценка. Инструменты и методы оценки любых активов

Асват Дамодаран

Асват Дамодаран - Инвестиционная оценкаАсват Дамодаран — Инвестиционная оценка

Если кратко, то этот шлакоблок в 5 кг про Ебетду. Оцениваем отчёты, покупаем акции, получаем дивиденды.

  • Полный спектр моделей, используемых аналитиками для оценки.
  • Примеры из реального мира, во всем их несовершенстве и со всеми особенностями.
  • Иллюстрации с различных рынков, находящихся как в США, так и за их пределами.
  • Изменение параметров оценки в зависимости от конкретных условий.
  • Выбор моделей оценки: чем руководствоваться?
    Ориентирована на менеджеров высшего звена, предпринимателей, инвесторов, профессиональных оценщиков, сотрудников инвестиционных компаний и банков, а также преподавателей и студентов.


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

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

    • 09 марта 2020, 16:43
    • |
    • Aleks
  • Еще

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

В этой статье будет рассмотрено, как рассчитывать доходность, волатильность и построить один из основных индикаторов.

import pandas as pd
import yfinance as yf
import numpy as np
import matplotlib.pyplot as plt

sber = yf.download('SBER.ME','2016-01-01')

Доходность

Данная величина представляет собой процентное изменение стоимости акции за один торговый день. Оно не учитывает дивиденды и комиссии. Его легко рассчитать используя функцию pct_change () из пакета Pandas.

Как правило используют лог доходность, так как она позволяет лучше понять и исследовать изменения с течением времени.

# Скорректированая цена закрытия`
daily_close = sber[['Adj Close']]

# Дневная доходность
daily_pct_change = daily_close.pct_change()

# Заменить NA значения на 0
daily_pct_change.fillna(0, inplace=True)

print(daily_pct_change.head())

# Дневная лог доходность
daily_log_returns = np.log(daily_close.pct_change()+1)

print(daily_log_returns.head())


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

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