В современной разработке финтех-приложений и торговых платформ качественные тестовые данные играют решающую роль для обеспечения стабильности системы. Библиотека mock-jutsu предлагает разработчикам мощный инструмент для имитации рыночной активности — функцию ohlcv_candles. Эта функция предназначена для генерации реалистичных массивов японских свечей, которые включают в себя стандартные параметры: время (Timestamp), цены открытия (Open), максимума (High), минимума (Low), закрытия (Close) и объем торгов (Volume). Использование таких данных позволяет тестировать торговые терминалы, аналитические дашборды и алгоритмические стратегии без необходимости подключения к реальным биржевым API.
Основным преимуществом ohlcv_candles является использование алгоритма геометрического броуновского движения (Geometric Brownian Motion) для расчета цен. В отличие от простой случайной генерации, этот метод создает мок-данные, которые имитируют естественную волатильность финансового рынка. Функция строго соблюдает математические стандарты формирования свечного паттерна: максимальная цена (High) всегда больше или равна максимуму из цен открытия и закрытия, а минимальная (Low) — меньше или равна их минимуму. Кроме того, библиотека обеспечивает непрерывность временного ряда, где цена открытия текущей свечи соответствует цене закрытия предыдущей (Open[i] = Close[i-1]), что исключает неестественные ценовые разрывы в тестовых выборках.
Библиотека mock-jutsu предоставляет гибкие настройки для генерации серий от 10 до 30 свечей с поддержкой популярных временных интервалов: от минутных (1m, 5m, 15m) до часовых и дневных (1h, 4h, 1d). Инструмент максимально адаптирован под различные рабочие процессы. Разработчики могут использовать CLI-интерфейс для быстрой генерации JSON-ответов в терминале, интегрировать вызов функции напрямую в Python-код своих тестов или применять специальное расширение для JMeter при проведении нагрузочного тестирования высоконагруженных систем обработки рыночных данных.
Сценарии применения ohlcv_candles охватывают все этапы жизненного цикла разработки. На фронтенде эти тестовые данные незаменимы для отладки визуализации сложных графиков и проверки корректности масштабирования осей. На бэкенде функция позволяет верифицировать логику работы технических индикаторов и расчетных модулей. Главное преимущество для инженера заключается в возможности мгновенно получить консистентный набор данных, полностью соответствующий рыночной логике, что значительно ускоряет процесс разработки и повышает надежность финального продукта.
mockjutsu generate ohlcv_candlesmockjutsu bulk ohlcv_candles --count 10mockjutsu export ohlcv_candles --count 10 --format jsonmockjutsu export ohlcv_candles --count 10 --format csvmockjutsu export ohlcv_candles --count 10 --format sqlfrom mockjutsu import jutsujutsu.generate('ohlcv_candles')jutsu.bulk('ohlcv_candles', count=10)jutsu.template(['ohlcv_candles'], count=5)${__mockjutsu_ohlcv(ohlcv_candles)}# JMeter Function: __mockjutsu_ohlcv# Parameter 1: ohlcv_candles# Parameter 2: (not required for this function)GET /generate/ohlcv_candles# → {"type":"ohlcv_candles","result":"...","status":"ok"}GET /bulk/ohlcv_candles?count=10POST /template {"types":["ohlcv_candles"],"count":1}Примеры вывода
{"symbol": "BAC", "interval": "1d", "candles": [{"t": "2026-05-31T23:22:00Z", "o": 1579.55, "h": 2199.18, "l": 1572.47, "c": 2186.05, "v": 2840517}, {"t": "2026-06-01T23:22:00Z", "o": 2186.05, "h": 3098.17, "l": 2165.71, "c": 3084.05, "v": 3025686}, {"t": "2026-06-02T23:22:00Z", "o": 3084.05, "h": 3938.14, "l": 3006.03, "c": 3911.21, "v": 2812042}, {"t": "2026-06-03T23:22:00Z", "o": 3911.21, "h": 3930.12, "l": 3544.49, "c": 3556.73, "v": 1590443}, {"t": "2026-06-04T23:22:00Z", "o": 3556.73, "h": 3557.3, "l": 2068.27, "c": 2069.12, "v": 1381478}, {"t": "2026-06-05T23:22:00Z", "o": 2069.12, "h": 2088.75, "l": 1452.57, "c": 1467.35, "v": 2753529}, {"t": "2026-06-06T23:22:00Z", "o": 1467.35, "h": 1546.75, "l": 1444.53, "c": 1520.66, "v": 2083571}, {"t": "2026-06-07T23:22:00Z", "o": 1520.66, "h": 1749.49, "l": 1515.45, "c": 1735.69, "v": 2688721}, {"t": "2026-06-08T23:22:00Z", "o": 1735.69, "h": 2233.07, "l": 1730.54, "c": 2173.8, "v": 1121054}, {"t": "2026-06-09T23:22:00Z", "o": 2173.8, "h": 2189.52, "l": 2074.0, "c": 2077.87, "v": 2528393}, {"t": "2026-06-10T23:22:00Z", "o": 2077.87, "h": 2114.02, "l": 1772.84, "c": 1787.23, "v": 10079270}, {"t": "2026-06-11T23:22:00Z", "o": 1787.23, "h": 1787.66, "l": 1159.82, "c": 1160.62, "v": 3225270}, {"t": "2026-06-12T23:22:00Z", "o": 1160.62, "h": 1178.24, "l": 882.11, "c": 897.36, "v": 2393589}, {"t": "2026-06-13T23:22:00Z", "o": 897.36, "h": 899.3, "l": 681.34, "c": 683.05, "v": 2190986}, {"t": "2026-06-14T23:22:00Z", "o": 683.05, "h": 692.1, "l": 600.51, "c": 615.86, "v": 2145667}, {"t": "2026-06-15T23:22:00Z", "o": 615.86, "h": 624.67, "l": 469.89, "c": 479.69, "v": 1185064}, {"t": "2026-06-16T23:22:00Z", "o": 479.69, "h": 484.59, "l": 362.29, "c": 365.41, "v": 2774502}, {"t": "2026-06-17T23:22:00Z", "o": 365.41, "h": 434.09, "l": 365.39, "c": 434.08, "v": 4283432}, {"t": "2026-06-18T23:22:00Z", "o": 434.08, "h": 491.24, "l": 433.57, "c": 490.9, "v": 1472071}, {"t": "2026-06-19T23:22:00Z", "o": 490.9, "h": 493.43, "l": 446.04, "c": 449.26, "v": 3179057}, {"t": "2026-06-20T23:22:00Z", "o": 449.26, "h": 559.18, "l": 446.66, "c": 555.58, "v": 2420436}, {"t": "2026-06-21T23:22:00Z", "o": 555.58, "h": 556.44, "l": 346.04, "c": 347.49, "v": 4319542}, {"t": "2026-06-22T23:22:00Z", "o": 347.49, "h": 349.83, "l": 252.74, "c": 258.83, "v": 1365477}, {"t": "2026-06-23T23:22:00Z", "o": 258.83, "h": 261.88, "l": 246.21, "c": 251.88, "v": 1944861}, {"t": "2026-06-24T23:22:00Z", "o": 251.88, "h": 254.9, "l": 224.31, "c": 224.82, "v": 2301710}, {"t": "2026-06-25T23:22:00Z", "o": 224.82, "h": 225.01, "l": 172.65, "c": 172.7, "v": 6501221}, {"t": "2026-06-26T23:22:00Z", "o": 172.7, "h": 176.86, "l": 130.62, "c": 133.64, "v": 1050940}]}Правила валидации
- Генерируется Mock Jutsu по реальным форматным спецификациям
- Все значения полностью синтетические
- Для разработки, тестирования и демонстрации