1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/fasiondog-hikyuu

28.02.2025 07:25
GitLife Service Account
  1. Улучшена функциональность FINANCE, добавлены параметры only_year_report и dynamic для вычислений P/E ratio и других показателей.
  2. При отрисовке Indicator.plot ось X установлена как дата.
  3. Добавлен сегмент 92 для Биржи Небо.
  4. Добавлена таблица BlockIndex для поддержки получения соответствующего индекса для блока.
  5. Исправлен процесс импорта информации о разделах, при плохой сети, если текущая информация о разделе не была получена, предыдущая информация о разделе не будет удалена.
  6. Исправлено поведение interactive, когда blockbj пуст.
Последнее сообщение коммита: Merge pull request #240 from fasiondog/feature/docs
28.02.2025 07:25
GitLife Service Account
  1. Новые возможности

    • Внесение исторических финансовых данных в базу данных и добавление метрики FINANCE для получения соответствующих исторических финансовых данных
    • Добавлена метрика RESULT для получения результатов из нескольких наборов данных с помощью формул метрик
    • Открыт доступ к некоторым атрибутам объекта Stock для изменения во время выполнения программы; добавлен метод set_krecord_list для создания временного объекта Stock при использовании других источников данных и получения данных K-линий
  2. Устранение ошибок

    • Исправлена ошибка при получении информации о праздничных днях
    • Исправлено зависание при инициализации hdf5 при наличии только дневных данных в Jupyter Notebook
    • Исправлены проблемы с новыми акциями из Биржи Нью-Йорка, которые были импортированы как тип A-акций вместо специфического типа
Последнее сообщение коммита: Merge pull request #235 from fasiondog/release
28.02.2025 07:25
GitLife Service Account
  1. Добавлен показатель оборачиваемости акций TURNOVER
  2. Добавлена новая типология акций STOCKTYPE_A_BJ (Beijing Stock Exchange). Минимальный объем торгов для акций STAR Market и Beijing Stock Exchange установлен в размере 1
  3. Исправлено сообщение об ошибке в sys_performance при установке даты создания tm раньше даты отчета
  4. Внутреннее название prtflo в hub изменено на pf для унификации названий
  5. Изменено имя метода getScores в классе MF_MultiFactor (ранее было getScore). Теперь этот метод возвращает пустой список вместо выброса исключения, если данные за указанную дату отсутствуют
  6. Исправлено отсутствие работы метода to_df в классах TradeRecordList и PositionRecordList на Python
  7. В hku_catch игнорируется перехват исключений KeyboardInterrupt для обеспечения возможности прерывания программы с помощью Ctrl+C в Python
  8. Название crtSL изменено на crtSP (алгоритм расчета ценового спреда), чтобы соответствовать другим внутренним названиям
  9. Исправлено отсутствие функций hku_save и hku_load, что вызывало ошибки выполнения примеров
  10. Исправлено отсутствие некоторых интерфейсов в функции crtMM
  11. Обновлены другие примеры, которые ранее завершались с ошибками, такие как OrderBroker (требуется создание объекта перед его использованием в методе pybind)
  12. Добавлено значение CAPITAL (капитализация обращаемых акций), которое можно использовать вместо LIUTONGPAN, но до этого отсутствовало указание на CAPITAL
Последнее сообщение коммита: Merge pull request #227 from fasiondog/release
28.02.2025 07:24
GitLife Service Account
  1. Новые возможности

    • Внедрен компонент MF с множеством факторов, используемый для ранжирования и оценки активов на основе временного среза данных, а также для переструктурирования PF (портфеля инвестиций), SE (алгоритма выбора акций). Процесс включает портфель PF — временное ранжирование MF — отбор акций SE — системные стратегии SYS — момент покупки SG — управление капиталом MM — защиту от потерь ST / защиту прибыли TP — цель прибыли PG. Все эти компоненты теперь представлены как модульные торговые компоненты.
    • Добавлены новые показатели ZBOND10 (ставка доходности десятилетних казначейских обязательств для расчета отношения Шарпа), SPEARMAN (коэффициент ранговой корреляции), IC (информационный коэффициент), ICIR (информационный коэффициент отношения).
    • Добавлены нормализованные показатели (например, EQUAL_FORWARD), что позволяет использовать данные с учетом правил распределения для вычисления некоторых показателей.
    • В Python добавлена возможность использования метода performance для PF и SYS, чтобы можно было сразу просмотреть производительность системы.
    • Добавлен метод concat_to_df для объединения нескольких показателей в pandas DataFrame, что упрощает дальнейшую работу с этими данными другими пакетами pandas.
    • Поддержка динамической проверки всех системных компонентов и показателей при изменении параметров.
  2. Другие улучшения и изменения

    • Улучшение метода быстрого создания объектов в Python для поддержки клонирования экземпляров наследования Python с приватными свойствами, что позволяет вызывать их из C++.
    • Для метрики ALIGN добавлен параметр fill_null для управления заполнением NaN значений или использованием ближайших данных.
    • Реорганизация процесса реинициализации/клонирования системы на основе общих свойств компонентов.
    • Оптимизация взаимодействия логирования C++ с окружением Python.
    • Возможность фильтрации StockManager, Block, MF через функции фильтрации для получения связанных ценных бумаг.
    • Улучшение CLOSE/OPEN/HIGH/LOW/AMO/VOL в Python для устранения необходимости использования скобок в формулах.
    • Добавлены методы equal/isSame для Indicator для упрощения тестовых примеров.
    • Отображение статистических результатов производительности в последовательном порядке.
    • Обновление метода get_part для получения компонентов из хранилища без необходимости указания имени параметра.
    • Оптимизация методов получения кривой капитала TradeManager и других изменений ввода Python.
    • Чистка заголовков сериализации C++, а также информации статического анализа cppcheck.
    • Совместимость с MYSQL_OPT_RECONNECT.
    • Изменение вывода SpendTimer на std::cout для удобства захвата вывода Jupyter.

SpendTimer теперь выводит информацию на std::cout для удобства захвата вывода Jupyter.

  1. Исправление ошибок
    • Исправлено отсутствие исторических акций, прекративших торговлю, при создании stock.db.
    • Исправлены проблемы импорта локальных данных TDX.
    • Исправлены ошибки низкоточечной версии Python в тестовых примерах.
    • Исправлены проблемы создания директорий логов Python.
    • Исправлены ошибки в получении списка сделок get_trans_list.
Последнее сообщение коммита: Merge pull request #221 from fasiondog/release
28.02.2025 07:23
GitLife Service Account
  1. Для использования C++ компонентов обновления с помощью hub (репозитория стратегий), см. <https://gitee.com/fasiondog/hikyuu_hub>_
  2. Попытка получить файл hosts.py в папке пользователя для удобства изменения связанных настроек сервера pytdx
  3. Изменение макросов уровня логирования для предотвращения конфликтов под Windows
  4. Очистка и оптимизация сообщений предупреждений от cppcheck
Последнее сообщение коммита: Merge pull request #157 from fasiondog/master
28.02.2025 07:23
GitLife Service Account
  1. Общее улучшение и оптимизация

    • Полностью перешли с boost.python на pybind11 для удобства отключения блока управления потоками (GIL) в части C++, что позволяет параллельно вызывать код Python
    • Ускорена скорость загрузки данных, особенно при использовании движка MYSQL, время инициализации сократилось с 6 до 1 секунды
    • Информация о блоках теперь хранится в MySQL/SQLite, поддержка старого формата Qianlong ini остаётся, но требует самостоятельного изменения конфигурационного файла. При использовании HikyuuTdx для настройки и хранении данных в HDF5, конфигурационный файл автоматически обновляется до использования SQLite. Для продолжения использования формата Qianlong требуется выполнение импорта через importdata и обновление информации о блоках через tools/update_block_info.py.
  2. Расширенные возможности

    • Улучшена поддержка сетевых операций для сбора рыночной информации
    • Добавлены новые технические индикаторы MDD/MRR (относительный спад относительно исторического максимума / относительная прибыльность относительно исторического минимума)
    • Поддержана возможность обновления версий с уведомлением
    • Создание шаблонного конфигурационного файла для сред без графического интерфейса
    • В разделе Performance добавлена статистика по максимальному заработку/убытку за одну сделку
    • Добавлен индикатор CN_Bool для условий эффективности системы
    • Усилен модуль Condition, добавлены методы get_datetime_list и get_values
    • Добавлено сообщение при отсутствии выбора данных в HikyuuTdx
    • Добавлен метод to_df для объекта Performance в Python
    • В модуле Datetime добавлен метод ticks для получения количества микросекунд с минимальной датой
  3. Исправление ошибок

    • Исправлено начальное значение take-profit, чтобы он не применялся до момента достижения прибыли
    • Исправлено отсутствие сериализации для BandSignal
    • Исправлено поведение Condition при отсутствии настроек SG
  4. Другие изменения

    • Совместимость с новыми и старыми версиями библиотеки akshare
    • Отключение предупреждений при импорте Talib
Последнее сообщение коммита: 更新版本信息
28.02.2025 07:23
GitLife Service Account
  1. Добавлен временной индикатор Tushare (DATE/TIME/YEAR/MONTH/WEEK/DAY/HOUR/MINUTE)
  2. Добавлена возможность вычисления линейной регрессии с помощью индикатора SLOPE
  3. Улучшено хранение данных в движке MySQL, теперь поддерживаются импорт минутных и секундных данных, а также финансовых данных
  4. Временные метки расширены до уровня целых чисел в секундах, а также методы возврата целых значений для серии ymdhms
  5. Исправлена проблема с обновлением последней даты обновления при импорте данных с Beijing Stock Exchange
  6. Исправлена возможная ошибка при эквивалентизации индикатора CVAL
  7. Исправлена ошибка кодировки UTF-8 конфигурационного файла в Windows
Последнее сообщение коммита: update version 1.3.1
28.02.2025 07:22
GitLife Service Account
  1. Оптимизация производительности

    #125 <https://github.com/fasiondog/hikyuu/pull/125>_ Оптимизация объединения показателей, скорость вычислений увеличилась в 8–10 раз.

  2. Улучшение функциональности

    • Вынесение операций покупки с короткой позицией/продажи с длинной позицией в TradeManager в Python
    • Вынесение метода get_index_range класса Stock в Python
    • Добавление опции stacktrace в варианты компиляции для удобства вывода стека вызовов при возникновении ошибок
    • Оптимизация базовых инфраструктурных модулей TimerManager, пула потоков и управляемых данных
    • Поддержка привязки datetime в движках данных MySQL и SQLite
    • Оптимизация значений по умолчанию для метрик
    • Обновление версии библиотеки FlatBuffers до 23.5.6
    • Оптимизация сравнения равенства объектов класса Stock
    • Усовершенствование и вынос в Python сравнения равенства/неравенства объектов классов KQuery, KRecord и KData
    • Усовершенствование модуля Performance
  3. Исправление других ошибок

    • Обновление методов серии сигналов SG для решения проблем, остающихся после удаления оператора OP
    • Исправление использования устаревшего метода при преобразовании TradeList в numpy
    • Исправление проблемы выхода за границы массива в методе SUM
    • Исправление неподдержки путей Windows на русском языке в парсере конфигурационных файлов IniParser
    • Исправление ошибочного расчета при наличии значения NaN в методе RSI
    • Исправление ошибки сборки при использовании Ubuntu 23.10
Последнее сообщение коммита: update release.rst
28.02.2025 07:22
GitLife Service Account
  1. Устойчивость и совместимость

    • Временная проблема с установкой режима компиляции в setup.py была исправлена, что обеспечивает корректное применение параллельной компиляции.
    • Оптимизация загрузки данных HikyuuTdx, добавлено управление таймаутами для предотвращения застревания процесса из-за сетевых проблем.
    • Добавлено обнаружение ошибок соединения pytdx для записи соответствующих логов.
  2. Оптимизация алгоритмов

    • Улучшены алгоритмы VAR и STDP, теперь используется сдвиговой метод, что повысило производительность вычислений.
    • Исправлена проблема отсутствия команды break в формуле weave, чтобы избежать аварийного завершения при печати.
    • Добавлен новый показатель корреляции CORR.
  • Исправлена проблема отсутствия настройки discard в функции SUM.
  • Исправлена проблема неправильного присваивания значения m_discard при использовании setDiscard когда discard < size.
  1. Расширение функциональности

    • Добавлена поддержка графиков pyecharts.
    • Автоматическое использование интерактивного режима Matplotlib в iPython/Notebook и улучшение эффекта Bokeh.
    • Теперь можно получить экземпляр StockManager напрямую через StrategyBase.
    • Автоматическая настройка шрифта Matplotlib на кириллицу.
    • Добавлен защитный механизм TimerManager против изменения системного времени.
    • Новая возможность конвертации временного интервала в SQLite kdata driver.
  2. Другие исправления и улучшения

    • Исправлены проблемы getFinanceInfo и getHistoryFinanceInfo, которые действуют только для типа акций STOCKTYPE_A.
    • Исправлена логика проверки в методе IndicatorImp::setContext для правильного изменения контекста во время прохода.
    • Добавлены часто используемые многоплатформенные функции.
    • Добавлена функция отправки обратной связи.
    • Улучшен выбор компилятора для использования xmake некоторыми пользователями.
    • Исправлены недочеты функции split, а также добавлены новые функции преобразования байтов в строки byteToHexStr.
Последнее сообщение коммита: update release.rst
28.02.2025 07:21
GitLife Service Account
  1. Устранение проблемы с обновлением m_broker_last_datetime при использовании нескольких брокеров
  2. Поддержка запроса Query.HOUR2
  3. Оптимизация кэширования Stock с добавлением второй защиты
  4. Корректировка времени delta при условии start_time < phase1_start
  5. Добавление таймаута для запросов requests.get через прокси
  6. При повторном использовании одного IP-адреса прокси, если таймаут происходит шесть раз, меняется IP-адрес
  7. Решение ситуации, когда delta.total_seconds() возвращает отрицательное значение
  8. Обновление таймаута для executor.map
  9. Устранение проблем с Bokeh3
  10. Обновление версии flatbuffers
  11. Обновление fmt
  12. Исправление ошибки "zsbk_sz = blockbj" на "zsbk_bj = blockbj"
  13. Оптимизация процесса компиляции проекта
Последнее сообщение коммита: update release
28.02.2025 07:21
GitLife Service Account

Устранённый MySQL движок может импортировать данные, но фактически не может быть использован.

Последнее сообщение коммита: update release for 1.2.7
28.02.2025 07:21
GitLife Service Account
  1. Добавлена публикация пакета PyPI для Linux, теперь установка через pip install hikyuu возможна в Linux.
  2. Улучшена защита при неудачной загрузке таблицы кодов акций.
  3. Улучшена защита от异常在图形用户界面中出现。
  4. Исправлено сообщение об ошибке движка базы данных MySQL в Linux (все имена таблиц преобразованы в нижний регистр).
  5. Исправлено Issue #I5YE01 - проблема с отображением времени при прокрутке мыши в bokeh_draw.py.
Последнее сообщение коммита: 更新 release 说明
28.02.2025 07:21
GitLife Service Account
  1. Добавление данных с биржи Пекина
  2. Улучшение процесса скачивания данных, исправление проблемы отсутствия части данных при использовании pytdx
  3. Восстановление скачивания финансовых данных
  4. Добавление файла start_insight_sdk.py для получения актуальных данных через API Huatuo Insight
  5. Усовершенствование управления сообщениями nng в модуле hikyuuTdx
  6. Добавление параметра в hku_catch для указания необходимости повторного выброса исключения
  7. Исправление демонстрационной версии
Последнее сообщение коммита: release v1.2.5
28.02.2025 07:21
GitLife Service Account
  1. Исправлено сохранение данных в trade_manage; установка ставки TC_FixedA2017 приводила к сбою сохранения данных.
  2. В методе TradeManager::getFunds исправлена ошибка в значении времени окончания, которое было некорректно записано как 11:59 вместо 23:59.
  3. Устранено отключение агента заказов.
Последнее сообщение коммита: release 1.2.4
28.02.2025 07:20
GitLife Service Account
  1. Поддержка динамических параметров в индикаторах

     В торговых платформах, таких как каналы цен и программы отслеживания финансовых рынков, параметры окон технических индикаторов обычно поддерживают целочисленные значения и могут использовать другие индикаторы:
    
     T1 := HHVBARS(H, 120); {Количество дней до сегодняшнего дня с максимальной ценой за последние 120 дней}
     L120 := LLV(L, T1 + 1); {Минимальная цена за период между текущей датой и днем максимальной цены}
    
     Теперь в Hikyuu также можно использовать индикаторы в качестве параметров:
    
     T1 = HHVBARS(H, 120)
     L120 = LLV(L, T1 + 1)
     L120.set_context(k)
     L120.plot()
    
     Обратите внимание
    
     Из-за невозможности отличить, является ли ind параметром индикатора или вычисленным значением, если требуется использовать ind как параметр, следует явно указать это через IndParam, например: EMA(IndParam(ind)).
    
     Лучший способ — это использование имени параметра для четкого указания того, что используется как параметр:
    
     x = EMA(c)  # Использует закрытую цену как входные данные для расчета
     y = EMA(IndParam(c)) # Использует закрытую цену как параметр n
     z = EMA(n=c) # Использует закрытую цену как параметр n
    
  2. Улучшение PF, AF, SE

     Теперь можно полноценно использовать портфели активов:
    
     # Создание системы стратегий
     my_mm = MM_FixedCount(100)
     my_sg = SG_Flex(EMA(n=5), slow_n=10)
     my_sys = SYS_Simple(sg=my_sg, mm=my_mm)
    
     # Создание алгоритма выбора, используемого для ежедневного выбора торговой системы
     # Здесь используется фиксированный выборник, то есть каждый день выбирается один и тот же набор систем
     my_se = SE_Fixed([s for s in blocka if s.valid], my_sys)
    
     # Создание распределителя активов, который определяет, как распределяются средства между выбранными системами
     # Здесь создается равномерный распределитель активов, то есть средства распределяются пропорционально между всеми выбранными системами
     my_af = AF_EqualWeight()
    
     # Создание портфеля активов
     # Создание счета, начальный баланс которого составляет 2 млн рублей, начиная с января 2001 года. Поскольку используется равномерный распределитель, средства будут распределены равномерно между всеми выбранными системами,
     # Если начальный баланс слишком мал, каждая система может не иметь достаточно средств для выполнения сделок.
     my_tm = crtTM(Datetime(200101010000), 2000000)
     my_pf = PF_Simple(tm=my_tm, af=my_af, se=my_se)
    
     # Запуск портфеля активов
     q = Query(-500)
     %time my_pf.run(Query(-500))
    
     x = my_tm.get_funds_curve(sm.get_trading_calendar(q))
     PRICELIST(x).plot()
    
  3. Исправление ошибки компиляции при сборке Fedora 34, предупреждение warning

  4. Исправление ошибок в скриптах обновления MySQL

  5. Исправление неверного расчета чистой прибыли после корректировки данных, а также вывод предупреждения при использовании этих данных для обратного тестирования (передняя коррекция данных относится к будущим функциям)

Последнее сообщение коммита: Merge branch 'develop'
28.02.2025 07:20
GitLife Service Account
  1. Исправление importdata
  2. Добавление метода getPosInStock в KData
  3. Поддержка изменения свойства recoverType в KQuery
  4. Поддержка использования исправленных данных в System
  5. Добавление праздников 2022 года
  6. Изменение примеров для выполнения в новой версии
  7. Устранение ошибок в других документах помощи
Последнее сообщение коммита: update setup.py for python3.10
28.02.2025 07:19
GitLife Service Account
  1. При выполнении импорта HikyuuTdx автоматически сохраняет конфигурацию, чтобы избежать необходимости выхода при первом использовании hikyuu.
  2. Добавлены акции с кодами, начинающимися на 301, для ChiNext.
  3. Устранена проблема неполного отображения HikyuuTdx при масштабировании окна.
  4. Исправлена ошибка вычисления HHVLLV, LLVBARS и HHVBARS.
  5. Оптимизация расчета метрик при сбросе контекста; если контекст не изменился, метрика сама решает, следует ли выполнять повторный расчет.
  6. Исправлена проблема с недействием функции to_df при преобразовании данных по барам и временным интервалам.
  7. При экспорте в hdf5 HikyuuTdx добавляет защиту данных; при возникновении ошибки таблица удаляется, что позволяет восстановить экспорт при следующей попытке.
  8. Исправлена проблема деактивации реинвестирования после использования данных прав на акции из TongdaXing.
  9. Удалён подмодуль hikyuu_extern_libs; для Windows HDF5 и MySQL используются скачиваемые зависимости.
  10. Оптимизация логов графического интерфейса HikyuuTDX; захватывание вывода логов подпроцессов.
Последнее сообщение коммита: add requirements.txt
28.02.2025 07:19
GitLife Service Account
  1. Добавление сектора STAR Market
  2. Улучшение инфраструктуры, добавление MQThreadPool и MQStealThreadPool, оптимизация StealThreadPool
  3. Оптимизация DbConnect, добавление DBCondition
  4. В datetime добавлен метод hex(), который возвращает совместимый с Oracle формат хранения datetime
  5. Исправление технических показателей RSI и KDJ
  6. Исправление функции выборки
  7. Исправление ошибок при реальном сборе данных
  8. Исправление префикса таблицы A-акций Shanghai Stock Exchange в createdb.sql
  9. Отмена указания AVX командной строки во время компиляции, чтобы избежать проблем с неподдерживаемыми архитектурами процессора
Последнее сообщение коммита: update setup.py 清理so文件;补充发布说明
28.02.2025 07:19
GitLife Service Account

Исправлено:

  1. Ошибка при смене импорта MySQL в HikyuuTDX: сообщение об ошибке "папка не существует"
  2. Локальный импорт TDX исправлен и теперь поддерживает импорт MySQL
Последнее сообщение коммита: fixed demo.cpp
28.02.2025 07:19
GitLife Service Account
  1. Обновлены примеры в examples/notebook
  2. Исправлены ошибки
Последнее сообщение коммита: 消除wheel告警
1
https://api.gitlife.ru/oschina-mirror/fasiondog-hikyuu.git
git@api.gitlife.ru:oschina-mirror/fasiondog-hikyuu.git
oschina-mirror
fasiondog-hikyuu
fasiondog-hikyuu