- 🇺🇸 See release notes in english here (актуальные релиз-ноты на английском)
- 📚 Документация на модуль PriceGenerator и примеры работы в консоли
- ⚙️ PriceGenerator API-документация
- 🎁 Поддержать проект донатом на ЮМани-кошелёк: 410015019068268
1.4.93 (2023-11-25) — опубликована
Теперь значения объёма зависят от предыдущего значения и вероятности выбросов и выглядят более реалистично. Алгоритм генератора создает более качественную серию свечей для сложных тенденций, включая учёт выбросов для верхних и нижних теней свечей и их тел. Кроме того, больше не должны появляться ошибки с отрицательными числами в сериях.
Пример долгосрочного ряда с реалистичным разбросом значений объёма и различными трендами:
- Теперь алгоритм генератора создаёт более реалистичные цепочки свечей, с учётом тренда и различной вероятности выбросов для верхней и нижней теней свечей и их тела.
- #22 Тип данных
ZigZagFilter()
фильтра изменён на Pandas Dataframe вместо dict. - #25 Значение объёма свечи теперь больше зависит и связано с предыдущими значениями и вероятностью выбросов.
- #24 Исправлена ошибка с появлением отрицательных чисел при генерации длинных цепочек свечей.
1.3.81 (2023-01-05) — опубликована
Внимание! Поддерживаемая версия Python не ниже 3.9.
Теперь можно добавлять кастомные линии (например, линии собственных индикаторов, рассчитанных заранее) и маркеры на основной график вместе с ценовыми свечами. Для этого используется метод RenderBokeh()
. Появилась возможность задавать направления генерируемых трендов простыми словами: up
, down
, no
или буквами: u
, d
, n
совместно с ключом --split-trend
(в дополнение к уже существующей возможности указывать тренды символами /\-
), например, --split-trend=up-down-no-up
, --split-trend=u-d-n-u
. Также можно выбирать тёмную или светлую темы для графиков, построенный через метод RenderBokeh()
, при помощи нового параметра darkTheme
(если True
, то используется тёмная тема, иначе — светлая тема).
Пример графика со светлой темой и с дополнительными кастомными маркерами и новой линией:
Пример графика с тёмной темой и с дополнительными маркерами:
- Поддерживаемая версия Python изменена на 3.9.
- #17 В метод
RenderBokeh()
добавлен параметрlayouts
, с помощью которого можно добавлять новые Chart-объекты Bokeh на основной график. Также добавлен параметрdarkTheme
, который регулирует выбор темы: если он равенTrue
, то будет использоваться тёмная тема, еслиFalse
(по умолчанию), то будет использоваться светлая тема. Также вы можете манипулировать графиком и добавлять новые линии или маркеры на основной график. Используйте для этого параметрыmarkers
иlines
. Pandas DataFramemarkers
содержит ряды, которые показывают, какой маркер нанести для той или иной свечи.None
по умолчанию. Маркер представляет собой некоторый символ, например, ×, ↓ или ↑ или какой-либо другой. Датафрейм с маркерами должен содержать, как минимум, два столбца. Это столбецdatetime
, с датой и временем, и один из столбцов или все сразу:markersUpper
,markersCenter
илиmarkersLower
, с маркерами, которые нужно поставить сверху, по центру или снизу свечи соответственно. Длины рядов с маркерами должны быть равны длине основного ряда со свечами. Листlines
содержит ряды с данными о точках новых линий, которые нужно разместить на основном свечном графике.None
по умолчанию. Датафрейм с линиями должен содержать, как минимум, два столбца. Этоdatetime
, с датой и временем, и произвольно названный столбецcustom_line_name
, с y-координатами точек линии. Длины рядов с точками линий должны быть равны длине основного ряда со свечами. - #10 Добавлена возможность указания направлений генерируемых трендов с помощью слов или букв. Слова могут быть следующими:
up
,down
илиno
, а буквы могут быть такими:u
,d
илиn
. Эти слова и знаки могут использоваться вместе с ключом--split-trend
, в дополнение к уже имеющейся возможности указывать тренд символами/\-
. Для разделения слов и букв используется символ дефиса, например,--split-trend=up-down-no-up
или--split-trend=u-d-n-u
. - #13 Была разработана API-документация на модуль
PriceGenerator
.
- #15 Отображение блока статистики было улучшено.
- #16 Добавлены примеры: как сгенерировать цепочку случайных цен без свечей.
- #19 Исправлена ошибка с генерацией некорректных значений high и low свечей, в случае, если задан тренд.
- #18 Исправлена ошибка с отображением многочисленных всплывающих подсказок на графике, а также ошибка с неверным определением ширины области графика.
- #11 Некорректные предупреждения в логах отключены.
1.2.58 (2021-12-09) — опубликована
- Лицензия изменена с MIT на Apache-2.0.
- #8 Добавлена возможность разделять наборы свечей по трендам. Для этого добавлены два дополнительных ключа:
--split-trend
и--split-count
. Эти ключи влияют на внешний вид тренда и количество свечей в каждом тренде.- Ключ
--split-trend
устанавливает направления в трендах, например,--split-trend=/\-
означает, что сгенерированные свечи имеют восходящий тренд в первой части, затем нисходящий тренд, а затем тренд отсутствует. - Ключ --split-count устанавливает количество свечей разных периодов, например
--split-count 5 10 15
означает, что сгенерированные свечи имеют 3 тренда с 5, 10 и 15 свечами в цепочке.
- Ключ
1.2.46 (2021-02-28) — опубликована
- Были добавлены некоторые скользящие средние на график Bokeh с библиотекой
pandas_ta
:- простые скользящие средние (5, 20, 50, 200),
- скользящие средние корпуса (5, 20),
- скользящие средние, взвешенные по объему (5, 20),
- кроме того, по умолчанию на графике отображается только линии «Max_close / Min_close / Trend line».
- Были реализованы индикаторы волатильности:
- Полосы Боллинджера.
- Параболический стоп и реверс,
- Аллигатор (на базе HMA 13, 8, 5),
- ZigZag с отклонением 3% по умолчанию.
- Добавлен график объемов.
- Добавлены всплывающие подсказки к свечам на основных и объемных графиках.
- Добавлено больше тестов и примеров. Проведён небольшой рефакторинг. У используемых библиотек продвинуты версии.
- Ключ
--horizon
при загрузке из файла используется для указания количества свечей, загружаемых с конца (N = horizon). - Ключ
--precision
используется для указания количества знаков после запятой.
- Исправлена ошибка с не обновляемым значением таймфрейма, при рендеринге из Pandas DataFrame (без загрузки из файла происходило падение).
1.1.30 (2021-02-20) — опубликована
- Добавлено множество ключей для CLI:
--ticker
,--timeframe
,--start
,--horizon
,--max-close
,--min-close
,--init-close
,--max-outlier
,--max-body
,--max-volume
,--up-candles-prob
,--outliers-prob
,--тренд-отклонение
. Эти ключи переопределяют параметры по умолчанию. - Реализован новый метод
RenderGoogle()
и ключ--render-google
, которые позволяют создать статический график Google Candlestick Chart.
- Добавлены новые примеры, ищите их в
README.md
(на английском) иREADME_RU.md
(на русском).
1.0.19 (2021-02-05) — опубликована
Первая версия библиотеки PriceGenerator позволяла:
- сохранять сгенерированные цены в формате csv (пример:
./media/test.csv
); - сохранять сгенерированные цены в переменную Pandas DataFrame для дальнейшего использования в сценариях автоматизации;
- автоматически рассчитывать некоторые статистические и вероятностные характеристики сгенерированных цен и сохранять их в формате Markdown (пример:
./media/index.html.md
); - загрузить цены реальных инструментов по модели OHLCV-свечей из csv-файла и провести их статистический анализ;
- нарисовать график сгенерированных или загруженных реальных цен и сохранить его в формате html (пример:
./media/index.html
); - сгенерировать цены, построить график и сохранить его в виде обычного png-изображения (пример:
./media/index.html.png
).
- нарисовать график сгенерированных или загруженных реальных цен и сохранить его в формате html (пример: