hikyuu 2.6.2__py3-none-win_amd64.whl → 2.6.3__py3-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. hikyuu/__init__.py +1 -1
  2. hikyuu/__init__.pyi +25 -9
  3. hikyuu/analysis/__init__.pyi +16 -0
  4. hikyuu/analysis/analysis.pyi +17 -1
  5. hikyuu/core.pyi +18 -2
  6. hikyuu/cpp/core310.pyd +0 -0
  7. hikyuu/cpp/core310.pyi +369 -41
  8. hikyuu/cpp/core311.pyd +0 -0
  9. hikyuu/cpp/core311.pyi +369 -41
  10. hikyuu/cpp/core312.pyd +0 -0
  11. hikyuu/cpp/core312.pyi +369 -41
  12. hikyuu/cpp/core313.pyd +0 -0
  13. hikyuu/cpp/core313.pyi +369 -41
  14. hikyuu/cpp/core39.pyd +0 -0
  15. hikyuu/cpp/core39.pyi +369 -41
  16. hikyuu/cpp/hikyuu.dll +0 -0
  17. hikyuu/cpp/hikyuu.lib +0 -0
  18. hikyuu/cpp/sqlite3.dll +0 -0
  19. hikyuu/draw/drawplot/bokeh_draw.pyi +21 -5
  20. hikyuu/draw/drawplot/echarts_draw.pyi +21 -5
  21. hikyuu/draw/drawplot/matplotlib_draw.py +22 -0
  22. hikyuu/draw/drawplot/matplotlib_draw.pyi +21 -5
  23. hikyuu/draw/kaufman.py +2 -2
  24. hikyuu/draw/kaufman.pyi +2 -2
  25. hikyuu/extend.pyi +21 -5
  26. hikyuu/hub.pyi +6 -6
  27. hikyuu/include/hikyuu/Block.h +20 -0
  28. hikyuu/include/hikyuu/KQuery.h +8 -0
  29. hikyuu/include/hikyuu/Stock.h +1 -1
  30. hikyuu/include/hikyuu/StockManager.h +6 -0
  31. hikyuu/include/hikyuu/indicator/Indicator.h +5 -0
  32. hikyuu/include/hikyuu/indicator/IndicatorImp.h +8 -3
  33. hikyuu/include/hikyuu/indicator/crt/INSUM.h +5 -10
  34. hikyuu/include/hikyuu/indicator/crt/RSI.h +2 -18
  35. hikyuu/include/hikyuu/plugin/backtest.h +3 -2
  36. hikyuu/include/hikyuu/plugin/extind.h +150 -0
  37. hikyuu/include/hikyuu/plugin/interface/BackTestPluginInterface.h +2 -1
  38. hikyuu/include/hikyuu/plugin/interface/ExtendIndicatorsPluginInterface.h +26 -0
  39. hikyuu/include/hikyuu/plugin/interface/plugins.h +2 -0
  40. hikyuu/include/hikyuu/strategy/BrokerTradeManager.h +7 -5
  41. hikyuu/include/hikyuu/strategy/Strategy.h +22 -9
  42. hikyuu/include/hikyuu/trade_manage/OrderBrokerBase.h +11 -4
  43. hikyuu/include/hikyuu/trade_manage/TradeManager.h +8 -5
  44. hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +6 -4
  45. hikyuu/include/hikyuu/trade_manage/TradeRecord.h +9 -1
  46. hikyuu/include/hikyuu/trade_sys/multifactor/MultiFactorBase.h +8 -5
  47. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_EqualWeight.h +4 -1
  48. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICIRWeight.h +4 -1
  49. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICWeight.h +4 -1
  50. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_Weight.h +4 -1
  51. hikyuu/include/hikyuu/trade_sys/multifactor/imp/EqualWeightMultiFactor.h +2 -1
  52. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICIRMultiFactor.h +2 -1
  53. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICMultiFactor.h +2 -1
  54. hikyuu/include/hikyuu/trade_sys/multifactor/imp/WeightMultiFactor.h +1 -1
  55. hikyuu/include/hikyuu/trade_sys/system/TradeRequest.h +7 -4
  56. hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardTradeManager.h +17 -13
  57. hikyuu/include/hikyuu/utilities/thread/{MQStealThreadPool.h → GlobalMQStealThreadPool.h} +12 -12
  58. hikyuu/include/hikyuu/utilities/thread/GlobalMQThreadPool.h +271 -0
  59. hikyuu/include/hikyuu/utilities/thread/{StealThreadPool.h → GlobalStealThreadPool.h} +11 -10
  60. hikyuu/include/hikyuu/utilities/thread/GlobalThreadPool.h +224 -0
  61. hikyuu/include/hikyuu/utilities/thread/InterruptFlag.h +16 -0
  62. hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +27 -70
  63. hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +18 -53
  64. hikyuu/include/hikyuu/utilities/thread/ThreadSafeQueue.h +4 -0
  65. hikyuu/include/hikyuu/utilities/thread/algorithm.h +9 -9
  66. hikyuu/include/hikyuu/utilities/thread/thread.h +4 -0
  67. hikyuu/include/hikyuu/version.h +4 -4
  68. hikyuu/plugin/backtest.dll +0 -0
  69. hikyuu/plugin/dataserver.dll +0 -0
  70. hikyuu/plugin/device.dll +0 -0
  71. hikyuu/plugin/extind.dll +0 -0
  72. hikyuu/plugin/import2hdf5.dll +0 -0
  73. hikyuu/trade_manage/__init__.pyi +21 -5
  74. hikyuu/trade_manage/broker.py +8 -8
  75. hikyuu/trade_manage/broker.pyi +4 -4
  76. hikyuu/trade_manage/broker_easytrader.py +3 -3
  77. hikyuu/trade_manage/broker_easytrader.pyi +2 -2
  78. hikyuu/trade_manage/broker_mail.py +2 -2
  79. hikyuu/trade_manage/broker_mail.pyi +2 -2
  80. hikyuu/trade_manage/trade.pyi +21 -5
  81. hikyuu/util/singleton.pyi +1 -1
  82. {hikyuu-2.6.2.dist-info → hikyuu-2.6.3.dist-info}/METADATA +1 -1
  83. {hikyuu-2.6.2.dist-info → hikyuu-2.6.3.dist-info}/RECORD +87 -82
  84. {hikyuu-2.6.2.dist-info → hikyuu-2.6.3.dist-info}/LICENSE +0 -0
  85. {hikyuu-2.6.2.dist-info → hikyuu-2.6.3.dist-info}/WHEEL +0 -0
  86. {hikyuu-2.6.2.dist-info → hikyuu-2.6.3.dist-info}/entry_points.txt +0 -0
  87. {hikyuu-2.6.2.dist-info → hikyuu-2.6.3.dist-info}/top_level.txt +0 -0
hikyuu/cpp/core313.pyi CHANGED
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
  import numpy
3
3
  import typing
4
- __all__ = ['ABS', 'ACOS', 'AD', 'ADVANCE', 'AF_EqualWeight', 'AF_FixedWeight', 'AF_FixedWeightList', 'AF_MultiFactor', 'ALIGN', 'AMA', 'ASIN', 'ATAN', 'ATR', 'AVEDEV', 'AllocateFundsBase', 'BACKSET', 'BARSCOUNT', 'BARSLAST', 'BARSSINCE', 'BARSSINCEN', 'BETWEEN', 'BLOCKSETNUM', 'BUSINESS', 'Block', 'BlockInfoDriver', 'BorrowRecord', 'BrokerPositionRecord', 'CEILING', 'CN_Bool', 'CN_OPLine', 'CONTEXT', 'CONTEXT_K', 'CORR', 'COS', 'COST', 'COUNT', 'CROSS', 'CVAL', 'CYCLE', 'C_AMO', 'C_CLOSE', 'C_HIGH', 'C_KDATA', 'C_LOW', 'C_OPEN', 'C_VOL', 'ConditionBase', 'Constant', 'CostRecord', 'DATE', 'DAY', 'DEBUG', 'DECLINE', 'DEVSQ', 'DIFF', 'DIRECT', 'DISCARD', 'DMA', 'DOWNNDAY', 'DROPNA', 'DataDriverFactory', 'Datetime', 'DatetimeList', 'Days', 'EMA', 'ERROR', 'EVERY', 'EV_Bool', 'EV_TwoLine', 'EXIST', 'EXP', 'EnvironmentBase', 'FATAL', 'FILTER', 'FINANCE', 'FLOOR', 'FundsRecord', 'HHV', 'HHVBARS', 'HKUException', 'HOUR', 'HSL', 'Hours', 'IC', 'ICIR', 'IF', 'INBLOCK', 'INDEXA', 'INDEXADV', 'INDEXC', 'INDEXDEC', 'INDEXH', 'INDEXL', 'INDEXO', 'INDEXV', 'INFO', 'INSUM', 'INTPART', 'IR', 'ISINF', 'ISINFA', 'ISLASTBAR', 'ISNA', 'IndParam', 'Indicator', 'IndicatorImp', 'JUMPDOWN', 'JUMPUP', 'KALMAN', 'KDATA_PART', 'KData', 'KDataDriver', 'KDataToHdf5Importer', 'KRecord', 'KRecordList', 'LAST', 'LASTVALUE', 'LIUTONGPAN', 'LLV', 'LLVBARS', 'LN', 'LOG', 'LOG_LEVEL', 'LONGCROSS', 'LoanRecord', 'MA', 'MACD', 'MAX', 'MDD', 'MF_EqualWeight', 'MF_ICIRWeight', 'MF_ICWeight', 'MF_Weight', 'MIN', 'MINUTE', 'MM_FixedCapital', 'MM_FixedCapitalFunds', 'MM_FixedCount', 'MM_FixedCountTps', 'MM_FixedPercent', 'MM_FixedRisk', 'MM_FixedUnits', 'MM_Nothing', 'MM_WilliamsFixedRisk', 'MOD', 'MONTH', 'MRR', 'MarketInfo', 'Microseconds', 'Milliseconds', 'Minutes', 'MoneyManagerBase', 'MultiFactorBase', 'NDAY', 'NOT', 'OFF', 'OrderBrokerBase', 'PF_Simple', 'PF_WithoutAF', 'PG_FixedHoldDays', 'PG_FixedPercent', 'PG_NoGoal', 'POS', 'POW', 'PRICELIST', 'Parameter', 'Performance', 'Portfolio', 'PositionRecord', 'PositionRecordList', 'ProfitGoalBase', 'Query', 'RECOVER_BACKWARD', 'RECOVER_EQUAL_BACKWARD', 'RECOVER_EQUAL_FORWARD', 'RECOVER_FORWARD', 'REF', 'REPLACE', 'RESULT', 'REVERSE', 'ROC', 'ROCP', 'ROCR', 'ROCR100', 'ROUND', 'ROUNDDOWN', 'ROUNDUP', 'RSI', 'SAFTYLOSS', 'SE_Fixed', 'SE_MaxFundsOptimal', 'SE_MultiFactor', 'SE_PerformanceOptimal', 'SE_Signal', 'SGN', 'SG_Add', 'SG_AllwaysBuy', 'SG_And', 'SG_Band', 'SG_Bool', 'SG_Buy', 'SG_Cross', 'SG_CrossGold', 'SG_Cycle', 'SG_Div', 'SG_Flex', 'SG_Mul', 'SG_OneSide', 'SG_Or', 'SG_Sell', 'SG_Single', 'SG_Single2', 'SG_Sub', 'SIN', 'SLICE', 'SLOPE', 'SMA', 'SPEARMAN', 'SP_FixedPercent', 'SP_FixedValue', 'SQRT', 'STDEV', 'STDP', 'ST_FixedPercent', 'ST_Indicator', 'ST_Saftyloss', 'SUM', 'SUMBARS', 'SYS_Simple', 'SYS_WalkForward', 'ScoreRecord', 'ScoreRecordList', 'Seconds', 'SelectorBase', 'SignalBase', 'SlippageBase', 'SpotRecord', 'Stock', 'StockManager', 'StockTypeInfo', 'StockWeight', 'StockWeightList', 'StoplossBase', 'Strategy', 'StrategyContext', 'System', 'SystemPart', 'SystemWeight', 'SystemWeightList', 'TAN', 'TA_ACCBANDS', 'TA_ACOS', 'TA_AD', 'TA_ADD', 'TA_ADOSC', 'TA_ADX', 'TA_ADXR', 'TA_APO', 'TA_AROON', 'TA_AROONOSC', 'TA_ASIN', 'TA_ATAN', 'TA_ATR', 'TA_AVGDEV', 'TA_AVGPRICE', 'TA_BBANDS', 'TA_BETA', 'TA_BOP', 'TA_CCI', 'TA_CDL2CROWS', 'TA_CDL3BLACKCROWS', 'TA_CDL3INSIDE', 'TA_CDL3LINESTRIKE', 'TA_CDL3OUTSIDE', 'TA_CDL3STARSINSOUTH', 'TA_CDL3WHITESOLDIERS', 'TA_CDLABANDONEDBABY', 'TA_CDLADVANCEBLOCK', 'TA_CDLBELTHOLD', 'TA_CDLBREAKAWAY', 'TA_CDLCLOSINGMARUBOZU', 'TA_CDLCONCEALBABYSWALL', 'TA_CDLCOUNTERATTACK', 'TA_CDLDARKCLOUDCOVER', 'TA_CDLDOJI', 'TA_CDLDOJISTAR', 'TA_CDLDRAGONFLYDOJI', 'TA_CDLENGULFING', 'TA_CDLEVENINGDOJISTAR', 'TA_CDLEVENINGSTAR', 'TA_CDLGAPSIDESIDEWHITE', 'TA_CDLGRAVESTONEDOJI', 'TA_CDLHAMMER', 'TA_CDLHANGINGMAN', 'TA_CDLHARAMI', 'TA_CDLHARAMICROSS', 'TA_CDLHIGHWAVE', 'TA_CDLHIKKAKE', 'TA_CDLHIKKAKEMOD', 'TA_CDLHOMINGPIGEON', 'TA_CDLIDENTICAL3CROWS', 'TA_CDLINNECK', 'TA_CDLINVERTEDHAMMER', 'TA_CDLKICKING', 'TA_CDLKICKINGBYLENGTH', 'TA_CDLLADDERBOTTOM', 'TA_CDLLONGLEGGEDDOJI', 'TA_CDLLONGLINE', 'TA_CDLMARUBOZU', 'TA_CDLMATCHINGLOW', 'TA_CDLMATHOLD', 'TA_CDLMORNINGDOJISTAR', 'TA_CDLMORNINGSTAR', 'TA_CDLONNECK', 'TA_CDLPIERCING', 'TA_CDLRICKSHAWMAN', 'TA_CDLRISEFALL3METHODS', 'TA_CDLSEPARATINGLINES', 'TA_CDLSHOOTINGSTAR', 'TA_CDLSHORTLINE', 'TA_CDLSPINNINGTOP', 'TA_CDLSTALLEDPATTERN', 'TA_CDLSTICKSANDWICH', 'TA_CDLTAKURI', 'TA_CDLTASUKIGAP', 'TA_CDLTHRUSTING', 'TA_CDLTRISTAR', 'TA_CDLUNIQUE3RIVER', 'TA_CDLUPSIDEGAP2CROWS', 'TA_CDLXSIDEGAP3METHODS', 'TA_CEIL', 'TA_CMO', 'TA_CORREL', 'TA_COS', 'TA_COSH', 'TA_DEMA', 'TA_DIV', 'TA_DX', 'TA_EMA', 'TA_EXP', 'TA_FLOOR', 'TA_HT_DCPERIOD', 'TA_HT_DCPHASE', 'TA_HT_PHASOR', 'TA_HT_SINE', 'TA_HT_TRENDLINE', 'TA_HT_TRENDMODE', 'TA_IMI', 'TA_KAMA', 'TA_LINEARREG', 'TA_LINEARREG_ANGLE', 'TA_LINEARREG_INTERCEPT', 'TA_LINEARREG_SLOPE', 'TA_LN', 'TA_LOG10', 'TA_MA', 'TA_MACD', 'TA_MACDEXT', 'TA_MACDFIX', 'TA_MAMA', 'TA_MAVP', 'TA_MAX', 'TA_MAXINDEX', 'TA_MEDPRICE', 'TA_MFI', 'TA_MIDPOINT', 'TA_MIDPRICE', 'TA_MIN', 'TA_MININDEX', 'TA_MINMAX', 'TA_MINMAXINDEX', 'TA_MINUS_DI', 'TA_MINUS_DM', 'TA_MOM', 'TA_MULT', 'TA_NATR', 'TA_OBV', 'TA_PLUS_DI', 'TA_PLUS_DM', 'TA_PPO', 'TA_ROC', 'TA_ROCP', 'TA_ROCR', 'TA_ROCR100', 'TA_RSI', 'TA_SAR', 'TA_SAREXT', 'TA_SIN', 'TA_SINH', 'TA_SMA', 'TA_SQRT', 'TA_STDDEV', 'TA_STOCH', 'TA_STOCHF', 'TA_STOCHRSI', 'TA_SUB', 'TA_SUM', 'TA_T3', 'TA_TAN', 'TA_TANH', 'TA_TEMA', 'TA_TRANGE', 'TA_TRIMA', 'TA_TRIX', 'TA_TSF', 'TA_TYPPRICE', 'TA_ULTOSC', 'TA_VAR', 'TA_WCLPRICE', 'TA_WILLR', 'TA_WMA', 'TC_FixedA', 'TC_FixedA2015', 'TC_FixedA2017', 'TC_TestStub', 'TC_Zero', 'TIME', 'TIMELINE', 'TIMELINEVOL', 'TR', 'TRACE', 'TURNOVER', 'TimeDelta', 'TimeLineList', 'TimeLineRecord', 'TradeCostBase', 'TradeManager', 'TradeRecord', 'TradeRecordList', 'TradeRequest', 'TransList', 'TransRecord', 'UPNDAY', 'VAR', 'VARP', 'VIGOR', 'WARN', 'WEAVE', 'WEEK', 'WINNER', 'WMA', 'YEAR', 'ZHBOND10', 'ZONGGUBEN', 'ZSCORE', 'active_device', 'backtest', 'batch_calculate_inds', 'can_upgrade', 'close_ostream_to_python', 'close_spend_time', 'combinate_ind', 'combinate_index', 'constant', 'crtBrokerTM', 'crtSEOptimal', 'crtTM', 'crt_pf_strategy', 'crt_sys_strategy', 'fetch_trial_license', 'find_optimal_system', 'find_optimal_system_multi', 'get_block', 'get_business_name', 'get_data_from_buffer_server', 'get_date_range', 'get_kdata', 'get_last_version', 'get_log_level', 'get_stock', 'get_system_part_enum', 'get_system_part_name', 'get_version', 'get_version_git', 'get_version_with_build', 'hikyuu_init', 'inner_analysis_sys_list', 'inner_combinate_ind_analysis', 'inner_combinate_ind_analysis_with_block', 'isinf', 'isnan', 'open_ostream_to_python', 'open_spend_time', 'remove_license', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'set_log_level', 'set_python_in_interactive', 'set_python_in_jupyter', 'start_data_server', 'start_spot_agent', 'stop_data_server', 'stop_spot_agent', 'toPriceList', 'view_license']
4
+ __all__ = ['ABS', 'ACOS', 'AD', 'ADVANCE', 'AF_EqualWeight', 'AF_FixedWeight', 'AF_FixedWeightList', 'AF_MultiFactor', 'ALIGN', 'AMA', 'ASIN', 'ATAN', 'ATR', 'AVEDEV', 'AllocateFundsBase', 'BACKSET', 'BARSCOUNT', 'BARSLAST', 'BARSSINCE', 'BARSSINCEN', 'BETWEEN', 'BLOCKSETNUM', 'BUSINESS', 'Block', 'BlockInfoDriver', 'BorrowRecord', 'BrokerPositionRecord', 'CEILING', 'CN_Bool', 'CN_OPLine', 'CONTEXT', 'CONTEXT_K', 'CORR', 'COS', 'COST', 'COUNT', 'CROSS', 'CVAL', 'CYCLE', 'C_AMO', 'C_CLOSE', 'C_HIGH', 'C_KDATA', 'C_LOW', 'C_OPEN', 'C_VOL', 'ConditionBase', 'Constant', 'CostRecord', 'DATE', 'DAY', 'DEBUG', 'DECLINE', 'DEVSQ', 'DIFF', 'DIRECT', 'DISCARD', 'DMA', 'DOWNNDAY', 'DROPNA', 'DataDriverFactory', 'Datetime', 'DatetimeList', 'Days', 'EMA', 'ERROR', 'EVERY', 'EV_Bool', 'EV_TwoLine', 'EXIST', 'EXP', 'EnvironmentBase', 'FATAL', 'FILTER', 'FINANCE', 'FLOOR', 'FundsRecord', 'HHV', 'HHVBARS', 'HKUException', 'HOUR', 'HSL', 'Hours', 'IC', 'ICIR', 'IF', 'INBLOCK', 'INDEXA', 'INDEXADV', 'INDEXC', 'INDEXDEC', 'INDEXH', 'INDEXL', 'INDEXO', 'INDEXV', 'INFO', 'INSUM', 'INTPART', 'IR', 'ISINF', 'ISINFA', 'ISLASTBAR', 'ISNA', 'IndParam', 'Indicator', 'IndicatorImp', 'JUMPDOWN', 'JUMPUP', 'KALMAN', 'KDATA_PART', 'KData', 'KDataDriver', 'KDataToHdf5Importer', 'KRecord', 'KRecordList', 'LAST', 'LASTVALUE', 'LIUTONGPAN', 'LLV', 'LLVBARS', 'LN', 'LOG', 'LOG_LEVEL', 'LONGCROSS', 'LoanRecord', 'MA', 'MACD', 'MAX', 'MDD', 'MF_EqualWeight', 'MF_ICIRWeight', 'MF_ICWeight', 'MF_Weight', 'MIN', 'MINUTE', 'MM_FixedCapital', 'MM_FixedCapitalFunds', 'MM_FixedCount', 'MM_FixedCountTps', 'MM_FixedPercent', 'MM_FixedRisk', 'MM_FixedUnits', 'MM_Nothing', 'MM_WilliamsFixedRisk', 'MOD', 'MONTH', 'MRR', 'MarketInfo', 'Microseconds', 'Milliseconds', 'Minutes', 'MoneyManagerBase', 'MultiFactorBase', 'NDAY', 'NOT', 'OFF', 'OrderBrokerBase', 'PF_Simple', 'PF_WithoutAF', 'PG_FixedHoldDays', 'PG_FixedPercent', 'PG_NoGoal', 'POS', 'POW', 'PRICELIST', 'Parameter', 'Performance', 'Portfolio', 'PositionRecord', 'PositionRecordList', 'ProfitGoalBase', 'Query', 'RANK', 'RECOVER_BACKWARD', 'RECOVER_EQUAL_BACKWARD', 'RECOVER_EQUAL_FORWARD', 'RECOVER_FORWARD', 'REF', 'REPLACE', 'RESULT', 'REVERSE', 'ROC', 'ROCP', 'ROCR', 'ROCR100', 'ROUND', 'ROUNDDOWN', 'ROUNDUP', 'RSI', 'SAFTYLOSS', 'SE_Fixed', 'SE_MaxFundsOptimal', 'SE_MultiFactor', 'SE_PerformanceOptimal', 'SE_Signal', 'SGN', 'SG_Add', 'SG_AllwaysBuy', 'SG_And', 'SG_Band', 'SG_Bool', 'SG_Buy', 'SG_Cross', 'SG_CrossGold', 'SG_Cycle', 'SG_Div', 'SG_Flex', 'SG_Mul', 'SG_OneSide', 'SG_Or', 'SG_Sell', 'SG_Single', 'SG_Single2', 'SG_Sub', 'SIN', 'SLICE', 'SLOPE', 'SMA', 'SPEARMAN', 'SP_FixedPercent', 'SP_FixedValue', 'SQRT', 'STDEV', 'STDP', 'ST_FixedPercent', 'ST_Indicator', 'ST_Saftyloss', 'SUM', 'SUMBARS', 'SYS_Simple', 'SYS_WalkForward', 'ScoreRecord', 'ScoreRecordList', 'Seconds', 'SelectorBase', 'SignalBase', 'SlippageBase', 'SpotRecord', 'Stock', 'StockManager', 'StockTypeInfo', 'StockWeight', 'StockWeightList', 'StoplossBase', 'Strategy', 'StrategyContext', 'System', 'SystemPart', 'SystemWeight', 'SystemWeightList', 'TAN', 'TA_ACCBANDS', 'TA_ACOS', 'TA_AD', 'TA_ADD', 'TA_ADOSC', 'TA_ADX', 'TA_ADXR', 'TA_APO', 'TA_AROON', 'TA_AROONOSC', 'TA_ASIN', 'TA_ATAN', 'TA_ATR', 'TA_AVGDEV', 'TA_AVGPRICE', 'TA_BBANDS', 'TA_BETA', 'TA_BOP', 'TA_CCI', 'TA_CDL2CROWS', 'TA_CDL3BLACKCROWS', 'TA_CDL3INSIDE', 'TA_CDL3LINESTRIKE', 'TA_CDL3OUTSIDE', 'TA_CDL3STARSINSOUTH', 'TA_CDL3WHITESOLDIERS', 'TA_CDLABANDONEDBABY', 'TA_CDLADVANCEBLOCK', 'TA_CDLBELTHOLD', 'TA_CDLBREAKAWAY', 'TA_CDLCLOSINGMARUBOZU', 'TA_CDLCONCEALBABYSWALL', 'TA_CDLCOUNTERATTACK', 'TA_CDLDARKCLOUDCOVER', 'TA_CDLDOJI', 'TA_CDLDOJISTAR', 'TA_CDLDRAGONFLYDOJI', 'TA_CDLENGULFING', 'TA_CDLEVENINGDOJISTAR', 'TA_CDLEVENINGSTAR', 'TA_CDLGAPSIDESIDEWHITE', 'TA_CDLGRAVESTONEDOJI', 'TA_CDLHAMMER', 'TA_CDLHANGINGMAN', 'TA_CDLHARAMI', 'TA_CDLHARAMICROSS', 'TA_CDLHIGHWAVE', 'TA_CDLHIKKAKE', 'TA_CDLHIKKAKEMOD', 'TA_CDLHOMINGPIGEON', 'TA_CDLIDENTICAL3CROWS', 'TA_CDLINNECK', 'TA_CDLINVERTEDHAMMER', 'TA_CDLKICKING', 'TA_CDLKICKINGBYLENGTH', 'TA_CDLLADDERBOTTOM', 'TA_CDLLONGLEGGEDDOJI', 'TA_CDLLONGLINE', 'TA_CDLMARUBOZU', 'TA_CDLMATCHINGLOW', 'TA_CDLMATHOLD', 'TA_CDLMORNINGDOJISTAR', 'TA_CDLMORNINGSTAR', 'TA_CDLONNECK', 'TA_CDLPIERCING', 'TA_CDLRICKSHAWMAN', 'TA_CDLRISEFALL3METHODS', 'TA_CDLSEPARATINGLINES', 'TA_CDLSHOOTINGSTAR', 'TA_CDLSHORTLINE', 'TA_CDLSPINNINGTOP', 'TA_CDLSTALLEDPATTERN', 'TA_CDLSTICKSANDWICH', 'TA_CDLTAKURI', 'TA_CDLTASUKIGAP', 'TA_CDLTHRUSTING', 'TA_CDLTRISTAR', 'TA_CDLUNIQUE3RIVER', 'TA_CDLUPSIDEGAP2CROWS', 'TA_CDLXSIDEGAP3METHODS', 'TA_CEIL', 'TA_CMO', 'TA_CORREL', 'TA_COS', 'TA_COSH', 'TA_DEMA', 'TA_DIV', 'TA_DX', 'TA_EMA', 'TA_EXP', 'TA_FLOOR', 'TA_HT_DCPERIOD', 'TA_HT_DCPHASE', 'TA_HT_PHASOR', 'TA_HT_SINE', 'TA_HT_TRENDLINE', 'TA_HT_TRENDMODE', 'TA_IMI', 'TA_KAMA', 'TA_LINEARREG', 'TA_LINEARREG_ANGLE', 'TA_LINEARREG_INTERCEPT', 'TA_LINEARREG_SLOPE', 'TA_LN', 'TA_LOG10', 'TA_MA', 'TA_MACD', 'TA_MACDEXT', 'TA_MACDFIX', 'TA_MAMA', 'TA_MAVP', 'TA_MAX', 'TA_MAXINDEX', 'TA_MEDPRICE', 'TA_MFI', 'TA_MIDPOINT', 'TA_MIDPRICE', 'TA_MIN', 'TA_MININDEX', 'TA_MINMAX', 'TA_MINMAXINDEX', 'TA_MINUS_DI', 'TA_MINUS_DM', 'TA_MOM', 'TA_MULT', 'TA_NATR', 'TA_OBV', 'TA_PLUS_DI', 'TA_PLUS_DM', 'TA_PPO', 'TA_ROC', 'TA_ROCP', 'TA_ROCR', 'TA_ROCR100', 'TA_RSI', 'TA_SAR', 'TA_SAREXT', 'TA_SIN', 'TA_SINH', 'TA_SMA', 'TA_SQRT', 'TA_STDDEV', 'TA_STOCH', 'TA_STOCHF', 'TA_STOCHRSI', 'TA_SUB', 'TA_SUM', 'TA_T3', 'TA_TAN', 'TA_TANH', 'TA_TEMA', 'TA_TRANGE', 'TA_TRIMA', 'TA_TRIX', 'TA_TSF', 'TA_TYPPRICE', 'TA_ULTOSC', 'TA_VAR', 'TA_WCLPRICE', 'TA_WILLR', 'TA_WMA', 'TC_FixedA', 'TC_FixedA2015', 'TC_FixedA2017', 'TC_TestStub', 'TC_Zero', 'TIME', 'TIMELINE', 'TIMELINEVOL', 'TR', 'TRACE', 'TURNOVER', 'TimeDelta', 'TimeLineList', 'TimeLineRecord', 'TradeCostBase', 'TradeManager', 'TradeRecord', 'TradeRecordList', 'TradeRequest', 'TransList', 'TransRecord', 'UPNDAY', 'VAR', 'VARP', 'VIGOR', 'WARN', 'WEAVE', 'WEEK', 'WINNER', 'WITHDAY', 'WITHHALFYEAR', 'WITHHOUR', 'WITHHOUR2', 'WITHHOUR4', 'WITHKTYPE', 'WITHMIN', 'WITHMIN15', 'WITHMIN30', 'WITHMIN5', 'WITHMIN60', 'WITHMONTH', 'WITHQUARTER', 'WITHWEEK', 'WITHYEAR', 'WMA', 'YEAR', 'ZHBOND10', 'ZONGGUBEN', 'ZSCORE', 'active_device', 'backtest', 'batch_calculate_inds', 'can_upgrade', 'close_ostream_to_python', 'close_spend_time', 'combinate_ind', 'combinate_index', 'constant', 'crtBrokerTM', 'crtSEOptimal', 'crtTM', 'crt_pf_strategy', 'crt_sys_strategy', 'fetch_trial_license', 'find_optimal_system', 'find_optimal_system_multi', 'get_block', 'get_business_name', 'get_data_from_buffer_server', 'get_date_range', 'get_kdata', 'get_last_version', 'get_log_level', 'get_stock', 'get_system_part_enum', 'get_system_part_name', 'get_version', 'get_version_git', 'get_version_with_build', 'hikyuu_init', 'inner_analysis_sys_list', 'inner_combinate_ind_analysis', 'inner_combinate_ind_analysis_with_block', 'isinf', 'isnan', 'open_ostream_to_python', 'open_spend_time', 'remove_license', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'set_log_level', 'set_python_in_interactive', 'set_python_in_jupyter', 'start_data_server', 'start_spot_agent', 'stop_data_server', 'stop_spot_agent', 'toPriceList', 'view_license']
5
5
  class AllocateFundsBase:
6
6
  """
7
7
  资产分配算法基类, 子类接口:
@@ -210,6 +210,8 @@ class Block:
210
210
  @staticmethod
211
211
  def _pybind11_conduit_v1_(*args, **kwargs):
212
212
  ...
213
+ def __eq__(self, arg0: Block) -> bool:
214
+ ...
213
215
  def __getitem__(self, arg0: str) -> Stock:
214
216
  """
215
217
  __getitem__(self, market_code)
@@ -219,6 +221,8 @@ class Block:
219
221
  """
220
222
  def __getstate__(self) -> tuple:
221
223
  ...
224
+ def __hash__(self) -> int:
225
+ ...
222
226
  @typing.overload
223
227
  def __init__(self) -> None:
224
228
  ...
@@ -234,6 +238,8 @@ class Block:
234
238
  """
235
239
  包含的证券数量
236
240
  """
241
+ def __ne__(self, arg0: Block) -> bool:
242
+ ...
237
243
  def __repr__(self) -> str:
238
244
  ...
239
245
  def __setstate__(self, arg0: tuple) -> None:
@@ -290,6 +296,12 @@ class Block:
290
296
 
291
297
  :param func filter: 输入参数为 stock, 返回 True | False 的过滤函数
292
298
  """
299
+ def is_null(self) -> bool:
300
+ """
301
+ is_null(self)
302
+
303
+ 是否为null值
304
+ """
293
305
  @typing.overload
294
306
  def remove(self, arg0: Stock) -> bool:
295
307
  """
@@ -1795,6 +1807,15 @@ class Indicator:
1795
1807
  """
1796
1808
  克隆操作
1797
1809
  """
1810
+ def contains(self, arg0: str) -> bool:
1811
+ """
1812
+ contains(self, name)
1813
+
1814
+ 获取指标公式中是否包含指定名称的指标
1815
+
1816
+ :param str name: 指定的指标名称
1817
+ :rtype: bool
1818
+ """
1798
1819
  def empty(self) -> bool:
1799
1820
  """
1800
1821
  是否为空
@@ -2047,6 +2068,8 @@ class IndicatorImp:
2047
2068
  ...
2048
2069
  def clone(self) -> IndicatorImp:
2049
2070
  ...
2071
+ def contains(self, arg0: str) -> bool:
2072
+ ...
2050
2073
  def get_ind_param(self, arg0: str) -> ...:
2051
2074
  ...
2052
2075
  def get_param(self, arg0: str) -> any:
@@ -3123,9 +3146,9 @@ class OrderBrokerBase:
3123
3146
  ...
3124
3147
  def __str__(self) -> str:
3125
3148
  ...
3126
- def _buy(self, arg0: Datetime, arg1: str, arg2: str, arg3: float, arg4: float, arg5: float, arg6: float, arg7: SystemPart) -> None:
3149
+ def _buy(self, arg0: Datetime, arg1: str, arg2: str, arg3: float, arg4: float, arg5: float, arg6: float, arg7: SystemPart, arg8: str) -> None:
3127
3150
  """
3128
- _buy(self, datetime, market, code, price, num, stoploss, goal_price, part_from)
3151
+ _buy(self, datetime, market, code, price, num, stoploss, goal_price, part_from, remark)
3129
3152
 
3130
3153
  【子类接口】执行买入操作
3131
3154
 
@@ -3136,7 +3159,8 @@ class OrderBrokerBase:
3136
3159
  :param float num: 买入数量
3137
3160
  :param float stoploss: 计划止损价
3138
3161
  :param float goal_price: 计划盈利目标价
3139
- :param SystemPart part_from: 信号来源
3162
+ :param SystemPart part_from: 信号来源,
3163
+ :param str remark: 订单备注
3140
3164
  """
3141
3165
  def _get_asset_info(self) -> str:
3142
3166
  """
@@ -3158,9 +3182,9 @@ class OrderBrokerBase:
3158
3182
  :return: 以字符串(json格式)方式返回当前资产信息
3159
3183
  :rtype: str
3160
3184
  """
3161
- def _sell(self, arg0: Datetime, arg1: str, arg2: str, arg3: float, arg4: float, arg5: float, arg6: float, arg7: SystemPart) -> None:
3185
+ def _sell(self, arg0: Datetime, arg1: str, arg2: str, arg3: float, arg4: float, arg5: float, arg6: float, arg7: SystemPart, arg8: str) -> None:
3162
3186
  """
3163
- _sell(self, datetime, market, code, price, num, stoploss, goal_price, part_from)
3187
+ _sell(self, datetime, market, code, price, num, stoploss, goal_price, part_from, remark)
3164
3188
 
3165
3189
  【子类接口】执行卖出操作
3166
3190
 
@@ -3172,8 +3196,9 @@ class OrderBrokerBase:
3172
3196
  :param float stoploss: 计划止损价
3173
3197
  :param float goal_price: 计划盈利目标价
3174
3198
  :param SystemPart part_from: 信号来源
3199
+ :param str remark: 订单备注
3175
3200
  """
3176
- def buy(self, arg0: Datetime, arg1: str, arg2: str, arg3: float, arg4: float, arg5: float, arg6: float, arg7: SystemPart) -> None:
3201
+ def buy(self, arg0: Datetime, arg1: str, arg2: str, arg3: float, arg4: float, arg5: float, arg6: float, arg7: SystemPart, arg8: str) -> None:
3177
3202
  """
3178
3203
  详情见子类实现接口: _buy
3179
3204
  """
@@ -3181,7 +3206,7 @@ class OrderBrokerBase:
3181
3206
  """
3182
3207
  详情见子类实现接口: _get_asset_info
3183
3208
  """
3184
- def sell(self, arg0: Datetime, arg1: str, arg2: str, arg3: float, arg4: float, arg5: float, arg6: float, arg7: SystemPart) -> None:
3209
+ def sell(self, arg0: Datetime, arg1: str, arg2: str, arg3: float, arg4: float, arg5: float, arg6: float, arg7: SystemPart, arg8: str) -> None:
3185
3210
  """
3186
3211
  详情见子类实现接口: _sell
3187
3212
  """
@@ -5123,6 +5148,16 @@ class StockManager:
5123
5148
 
5124
5149
  :rtype: StringList
5125
5150
  """
5151
+ def get_market_stock(self, arg0: str) -> ...:
5152
+ """
5153
+ get_market_stock(self, market)
5154
+
5155
+ 获取指定市场的代表指数(可能为空)
5156
+
5157
+ :param string market: 指定的市场标识(市场简称)
5158
+ :return: 相应的市场代表指数,如果相应的市场信息不存在,则返回Null<Stock>()
5159
+ :rtype: Stock
5160
+ """
5126
5161
  def get_plugin_path(self) -> str:
5127
5162
  """
5128
5163
  get_plugin_path(self)
@@ -5622,20 +5657,52 @@ class Strategy:
5622
5657
  :param str name: 策略名称
5623
5658
  :param str config: 配置文件名称(如需要使用独立的配置文件,否则为空时使用默认的hikyuu配置文件)
5624
5659
  """
5625
- def buy(self, stock: Stock, price: float, num: float, stoploss: float = 0.0, goal_price: float = 0.0, part: SystemPart = ...) -> TradeRecord:
5660
+ def buy(self, stock: Stock, price: float, num: float, stoploss: float = 0.0, goal_price: float = 0.0, part: SystemPart = ..., remark: str = '') -> TradeRecord:
5626
5661
  ...
5627
5662
  def get_kdata(self, stk: Stock, start_date: Datetime, end_date: Datetime, ktype: str, recover_type: Query.RecoverType = ...) -> KData:
5628
- ...
5663
+ """
5664
+ get_kdata(self, stk, start_date, end_date, ktype, recover_type)
5665
+
5666
+ 获取指定证券指定日期范围内的K线数据(为保证实盘和回测一致,请使用本方法获取K线数据)
5667
+ :param Stock stk: 指定的证券
5668
+ :param Datetime start_date: 开始日期
5669
+ :param Datetime end_date: 结束日期
5670
+ :param KQuery.KType ktype: K线类型
5671
+ :param KQuery.RecoverType recover_type: 恢复方式
5672
+ :return: K线数据
5673
+ :rtype: KData
5674
+ """
5629
5675
  @typing.overload
5630
5676
  def get_last_kdata(self, stk: Stock, start_date: Datetime, ktype: str, recover_type: Query.RecoverType = ...) -> KData:
5631
5677
  ...
5632
5678
  @typing.overload
5633
5679
  def get_last_kdata(self, stk: Stock, lastnum: int, ktype: str, recover_type: Query.RecoverType = ...) -> KData:
5634
- ...
5680
+ """
5681
+ get_last_kdata(self, stk, start_date, ktype, recover_type)
5682
+
5683
+ 获取指定证券从指定日期开始到当前时间的对应K线数据(为保证实盘和回测一致,请使用本方法获取K线数据)
5684
+
5685
+ 或 指定当前能获取到的最后 last_num 条 K线数据(为保证实盘和回测一致,请使用本方法获取K线数据)
5686
+
5687
+ :param Stock stk: 指定的证券
5688
+ :param Datetime start_date: 开始日期 (或为 int 类型,表示从当前日期往前推多少个交易日)
5689
+ :param KQuery.KType ktype: K线类型
5690
+ :param KQuery.RecoverType recover_type: 恢复方式
5691
+ :return: K线数据
5692
+ :rtype: KData
5693
+ """
5635
5694
  def next_datetime(self) -> Datetime:
5636
- ...
5695
+ """
5696
+ next_datetime(self)
5697
+
5698
+ 下一交易时间点(回测使用)
5699
+ """
5637
5700
  def now(self) -> Datetime:
5638
- ...
5701
+ """
5702
+ now(self)
5703
+
5704
+ 获取当前时间(使用该方法而不是 Datatime.now(), 以便回测和实盘一直)
5705
+ """
5639
5706
  def on_change(self, arg0: typing.Any) -> None:
5640
5707
  """
5641
5708
  onchang(self, func)
@@ -5652,6 +5719,24 @@ class Strategy:
5652
5719
 
5653
5720
  :param func: 可调用对象如普通函数, func(stg: Strategy, revTime: Datetime)
5654
5721
  """
5722
+ def order(self, stock: Stock, num: float, remark: str = '') -> TradeRecord:
5723
+ """
5724
+ order(self, stk, num, remark='')
5725
+
5726
+ 按数量下单(正数为买入,负数为卖出)
5727
+ :param Stock stk: 指定的证券
5728
+ :param int num: 下单数量
5729
+ :param str remark: 下单备注
5730
+ """
5731
+ def order_value(self, stock: Stock, price: float, remark: str = '') -> TradeRecord:
5732
+ """
5733
+ order_value(self, stk, value, remark='')
5734
+
5735
+ 按预期的证劵市值下单,即希望买入多少钱的证券(正数为买入,负数为卖出)
5736
+ :param Stock stk: 指定的证券
5737
+ :param float value: 投入买入资金
5738
+ :param str remark: 下单备注
5739
+ """
5655
5740
  def run_daily(self, func: typing.Any, time: TimeDelta, market: str = 'SH', ignore_market: bool = False) -> None:
5656
5741
  """
5657
5742
  run_daily(self, func)
@@ -5674,7 +5759,7 @@ class Strategy:
5674
5759
  :param TimeDelta time: 执行时刻,如每日15点:TimeDelta(0, 15)
5675
5760
  :param ignore_holiday: 节假日不执行
5676
5761
  """
5677
- def sell(self, stock: Stock, price: float, num: float, stoploss: float = 0.0, goal_price: float = 0.0, part: SystemPart = ...) -> TradeRecord:
5762
+ def sell(self, stock: Stock, price: float, num: float, stoploss: float = 0.0, goal_price: float = 0.0, part: SystemPart = ..., remark: str = '') -> TradeRecord:
5678
5763
  ...
5679
5764
  def start(self, auto_recieve_spot: bool = True) -> None:
5680
5765
  """
@@ -5685,7 +5770,11 @@ class Strategy:
5685
5770
  :param bool auto_recieve_spot: 是否自动接收行情数据
5686
5771
  """
5687
5772
  def today(self) -> Datetime:
5688
- ...
5773
+ """
5774
+ today(self)
5775
+
5776
+ 获取当前交易日日期(使用该方法而不是 Datatime.today(), 以便回测和实盘一直)
5777
+ """
5689
5778
  @property
5690
5779
  def context(self) -> StrategyContext:
5691
5780
  """
@@ -6821,9 +6910,9 @@ class TradeManager:
6821
6910
  ...
6822
6911
  def borrow_stock(self, arg0: Datetime, arg1: Stock, arg2: float, arg3: float) -> bool:
6823
6912
  ...
6824
- def buy(self, datetime: Datetime, stock: Stock, real_price: float, num: float, stoploss: float = 0.0, goal_price: float = 0.0, plan_price: float = 0.0, part: SystemPart = ...) -> TradeRecord:
6913
+ def buy(self, datetime: Datetime, stock: Stock, real_price: float, num: float, stoploss: float = 0.0, goal_price: float = 0.0, plan_price: float = 0.0, part: SystemPart = ..., remark: str = '') -> TradeRecord:
6825
6914
  """
6826
- buy(self, datetime, stock, real_price, number[, stoploss=0.0, goal_price=0.0, plan_price=0.0, part=System.INVALID])
6915
+ buy(self, datetime, stock, real_price, number[, stoploss=0.0, goal_price=0.0, plan_price=0.0, part=System.INVALID, remark=""])
6827
6916
 
6828
6917
  买入操作
6829
6918
 
@@ -6835,9 +6924,10 @@ class TradeManager:
6835
6924
  :param float goal_price: 目标价格
6836
6925
  :param float plan_price: 计划买入价格
6837
6926
  :param SystemPart part: 交易指示来源
6927
+ :param string remark: 备注信息
6838
6928
  :rtype: TradeRecord
6839
6929
  """
6840
- def buy_short(self, arg0: Datetime, arg1: Stock, arg2: float, arg3: float, arg4: float, arg5: float, arg6: float, arg7: SystemPart) -> TradeRecord:
6930
+ def buy_short(self, arg0: Datetime, arg1: Stock, arg2: float, arg3: float, arg4: float, arg5: float, arg6: float, arg7: SystemPart, arg8: str) -> TradeRecord:
6841
6931
  ...
6842
6932
  def cash(self, datetime: Datetime, ktype: str = 'DAY') -> float:
6843
6933
  """
@@ -7085,9 +7175,9 @@ class TradeManager:
7085
7175
  ...
7086
7176
  def return_stock(self, arg0: Datetime, arg1: Stock, arg2: float, arg3: float) -> bool:
7087
7177
  ...
7088
- def sell(self, datetime: Datetime, stock: Stock, real_price: float, num: float = 1.7976931348623157e+308, stoploss: float = 0.0, goal_price: float = 0.0, plan_price: float = 0.0, part: SystemPart = ...) -> TradeRecord:
7178
+ def sell(self, datetime: Datetime, stock: Stock, real_price: float, num: float = 1.7976931348623157e+308, stoploss: float = 0.0, goal_price: float = 0.0, plan_price: float = 0.0, part: SystemPart = ..., remark: str = '') -> TradeRecord:
7089
7179
  """
7090
- sell(self, datetime, stock, realPrice[, number=constant.max_double, stoploss=0.0, goal_price=0.0, plan_price=0.0, part=System.INVALID])
7180
+ sell(self, datetime, stock, realPrice[, number=constant.max_double, stoploss=0.0, goal_price=0.0, plan_price=0.0, part=System.INVALID, remark=""])
7091
7181
 
7092
7182
  卖出操作
7093
7183
 
@@ -7099,9 +7189,10 @@ class TradeManager:
7099
7189
  :param float goal_price: 新的目标价格
7100
7190
  :param float plan_price: 原计划卖出价格
7101
7191
  :param SystemPart part: 交易指示来源
7192
+ :param string remark: 交易备注
7102
7193
  :rtype: TradeRecord
7103
7194
  """
7104
- def sell_short(self, arg0: Datetime, arg1: Stock, arg2: float, arg3: float, arg4: float, arg5: float, arg6: float, arg7: SystemPart) -> TradeRecord:
7195
+ def sell_short(self, arg0: Datetime, arg1: Stock, arg2: float, arg3: float, arg4: float, arg5: float, arg6: float, arg7: SystemPart, arg8: str) -> TradeRecord:
7105
7196
  ...
7106
7197
  def set_param(self, arg0: str, arg1: any) -> None:
7107
7198
  """
@@ -7282,6 +7373,14 @@ class TradeRecord:
7282
7373
  def real_price(self, arg0: float) -> None:
7283
7374
  ...
7284
7375
  @property
7376
+ def remark(self) -> str:
7377
+ """
7378
+ 备注
7379
+ """
7380
+ @remark.setter
7381
+ def remark(self, arg0: str) -> None:
7382
+ ...
7383
+ @property
7285
7384
  def stock(self) -> Stock:
7286
7385
  """
7287
7386
  股票(Stock)
@@ -8849,18 +8948,7 @@ def INSUM(block: Block, ind: Indicator, mode: int, fill_null: bool = True) -> In
8849
8948
  ...
8850
8949
  @typing.overload
8851
8950
  def INSUM(block: Block, query: Query, ind: Indicator, mode: int, fill_null: bool = True) -> Indicator:
8852
- """
8853
- INSUM(block, query, ind, mode[, fill_null=True])
8854
-
8855
- 返回板块各成分该指标相应输出按计算类型得到的计算值.计算类型:0-累加,1-平均数,2-最大值,3-最小值.
8856
-
8857
- :param Block block: 指定板块
8858
- :param Query query: 指定范围
8859
- :param Indicator ind: 指定指标
8860
- :param int mode: 计算类型:0-累加,1-平均数,2-最大值,3-最小值.
8861
- :param bool fill_null: 日期对齐时缺失数据填充 nan 值。
8862
- :rtype: Indicator
8863
- """
8951
+ ...
8864
8952
  @typing.overload
8865
8953
  def INSUM(stks: typing.Sequence, ind: Indicator, mode: int, fill_null: bool = True) -> Indicator:
8866
8954
  ...
@@ -8869,12 +8957,14 @@ def INSUM(stks: typing.Sequence, query: Query, ind: Indicator, mode: int, fill_n
8869
8957
  """
8870
8958
  INSUM(stks, query, ind, mode[, fill_null=True])
8871
8959
 
8872
- 返回板块各成分该指标相应输出按计算类型得到的计算值.计算类型:0-累加,1-平均数,2-最大值,3-最小值.
8960
+ 返回板块各成分该指标相应输出按计算类型得到的计算值.计算类型:0-累加,1-平均数,2-最大值,3-最小值,4-降序排名,5-升序排名.
8961
+
8962
+ 注意: INSUM使用模式4/5时相当于RANK功能, 但不适合在MF中使用, 在 MF 中使用时计算量为 N x N 级别, 计算缓慢。如果希望在 MF 中使用,建议直接使用 RANK[VIP] 指标。
8873
8963
 
8874
8964
  :param Sequence stks: stock list
8875
8965
  :param Query query: 指定范围
8876
8966
  :param Indicator ind: 指定指标
8877
- :param int mode: 计算类型:0-累加,1-平均数,2-最大值,3-最小值.
8967
+ :param int mode: 计算类型:0-累加,1-平均数,2-最大值,3-最小值,4-降序排名(指标值最高的排名为1), 5-升序排名(指标值越高排名值越高)
8878
8968
  :param bool fill_null: 日期对齐时缺失数据填充 nan 值。
8879
8969
  :rtype: Indicator
8880
8970
  """
@@ -9298,7 +9388,7 @@ def MDD(arg0: Indicator) -> Indicator:
9298
9388
  def MF_EqualWeight() -> MultiFactorBase:
9299
9389
  ...
9300
9390
  @typing.overload
9301
- def MF_EqualWeight(inds: typing.Sequence, stks: typing.Sequence, query: Query, ref_stk: typing.Any = None, ic_n: int = 5, spearman: bool = True) -> MultiFactorBase:
9391
+ def MF_EqualWeight(inds: typing.Sequence, stks: typing.Sequence, query: Query, ref_stk: typing.Any = None, ic_n: int = 5, spearman: bool = True, mode: int = 0, save_all_factors: bool = False) -> MultiFactorBase:
9302
9392
  """
9303
9393
  MF_EqualWeight(inds, stks, query, ref_stk[, ic_n=5])
9304
9394
 
@@ -9310,13 +9400,15 @@ def MF_EqualWeight(inds: typing.Sequence, stks: typing.Sequence, query: Query, r
9310
9400
  :param Stock ref_stk: 参考证券 (未指定时,默认为 sh000300 沪深300)
9311
9401
  :param int ic_n: 默认 IC 对应的 N 日收益率
9312
9402
  :param bool spearman: 默认使用 spearman 计算相关系数,否则为 pearson
9403
+ :param int mode: 获取截面数据时排序模式: 0-降序, 1-升序, 2-不排序
9404
+ :param bool save_all_factors: 是否保存所有因子值,影响 get_actor/get_all_factors 方法
9313
9405
  :rtype: MultiFactorBase
9314
9406
  """
9315
9407
  @typing.overload
9316
9408
  def MF_ICIRWeight() -> MultiFactorBase:
9317
9409
  ...
9318
9410
  @typing.overload
9319
- def MF_ICIRWeight(inds: typing.Sequence, stks: typing.Sequence, query: Query, ref_stk: typing.Any = None, ic_n: int = 5, ic_rolling_n: int = 120, spearman: bool = True) -> MultiFactorBase:
9411
+ def MF_ICIRWeight(inds: typing.Sequence, stks: typing.Sequence, query: Query, ref_stk: typing.Any = None, ic_n: int = 5, ic_rolling_n: int = 120, spearman: bool = True, mode: int = 0, save_all_factors: bool = False) -> MultiFactorBase:
9320
9412
  """
9321
9413
  MF_EqualWeight(inds, stks, query, ref_stk[, ic_n=5, ic_rolling_n=120])
9322
9414
 
@@ -9329,13 +9421,15 @@ def MF_ICIRWeight(inds: typing.Sequence, stks: typing.Sequence, query: Query, re
9329
9421
  :param int ic_n: 默认 IC 对应的 N 日收益率
9330
9422
  :param int ic_rolling_n: IC 滚动周期
9331
9423
  :param bool spearman: 默认使用 spearman 计算相关系数,否则为 pearson
9424
+ :param int mode: 获取截面数据时排序模式: 0-降序, 1-升序, 2-不排序
9425
+ :param bool save_all_factors: 是否保存所有因子值,影响 get_actor/get_all_factors 方法
9332
9426
  :rtype: MultiFactorBase
9333
9427
  """
9334
9428
  @typing.overload
9335
9429
  def MF_ICWeight() -> MultiFactorBase:
9336
9430
  ...
9337
9431
  @typing.overload
9338
- def MF_ICWeight(inds: typing.Sequence, stks: typing.Sequence, query: Query, ref_stk: typing.Any = None, ic_n: int = 5, ic_rolling_n: int = 120, spearman: bool = True) -> MultiFactorBase:
9432
+ def MF_ICWeight(inds: typing.Sequence, stks: typing.Sequence, query: Query, ref_stk: typing.Any = None, ic_n: int = 5, ic_rolling_n: int = 120, spearman: bool = True, mode: int = 0, save_all_factors: bool = False) -> MultiFactorBase:
9339
9433
  """
9340
9434
  MF_EqualWeight(inds, stks, query, ref_stk[, ic_n=5, ic_rolling_n=120])
9341
9435
 
@@ -9348,13 +9442,15 @@ def MF_ICWeight(inds: typing.Sequence, stks: typing.Sequence, query: Query, ref_
9348
9442
  :param int ic_n: 默认 IC 对应的 N 日收益率
9349
9443
  :param int ic_rolling_n: IC 滚动周期
9350
9444
  :param bool spearman: 默认使用 spearman 计算相关系数,否则为 pearson
9445
+ :param int mode: 获取截面数据时排序模式: 0-降序, 1-升序, 2-不排序
9446
+ :param bool save_all_factors: 是否保存所有因子值,影响 get_actor/get_all_factors 方法
9351
9447
  :rtype: MultiFactorBase
9352
9448
  """
9353
9449
  @typing.overload
9354
9450
  def MF_Weight() -> MultiFactorBase:
9355
9451
  ...
9356
9452
  @typing.overload
9357
- def MF_Weight(inds: typing.Sequence, stks: typing.Sequence, weights: typing.Sequence, query: Query, ref_stk: typing.Any = None, ic_n: int = 5, spearman: bool = True) -> MultiFactorBase:
9453
+ def MF_Weight(inds: typing.Sequence, stks: typing.Sequence, weights: typing.Sequence, query: Query, ref_stk: typing.Any = None, ic_n: int = 5, spearman: bool = True, mode: int = 0, save_all_factors: bool = False) -> MultiFactorBase:
9358
9454
  """
9359
9455
  MF_EqualWeight(inds, stks, query, ref_stk[, ic_n=5])
9360
9456
 
@@ -9367,6 +9463,8 @@ def MF_Weight(inds: typing.Sequence, stks: typing.Sequence, weights: typing.Sequ
9367
9463
  :param Stock ref_stk: 参考证券 (未指定时,默认为 sh000300 沪深300)
9368
9464
  :param int ic_n: 默认 IC 对应的 N 日收益率
9369
9465
  :param bool spearman: 默认使用 spearman 计算相关系数,否则为 pearson
9466
+ :param int mode: 获取截面数据时排序模式: 0-降序, 1-升序, 2-不排序
9467
+ :param bool save_all_factors: 是否保存所有因子值,影响 get_actor/get_all_factors 方法
9370
9468
  :rtype: MultiFactorBase
9371
9469
  """
9372
9470
  @typing.overload
@@ -9702,6 +9800,24 @@ def PRICELIST(data: typing.Any = None, discard: int = 0, align_dates: typing.Any
9702
9800
  :rtype: Indicator
9703
9801
  """
9704
9802
  @typing.overload
9803
+ def RANK(block: Block, ref_ind: Indicator, mode: int = 0, fill_null: bool = True, market: str = 'SH') -> Indicator:
9804
+ ...
9805
+ @typing.overload
9806
+ def RANK(stks: typing.Sequence, ref_ind: Indicator, mode: int = 0, fill_null: bool = True, market: str = 'SH') -> Indicator:
9807
+ """
9808
+ RANK(stks, ref_ind, mode = 0, fill_null = true, market = 'SH')
9809
+
9810
+ 计算指标值在指定板块中的排名
9811
+
9812
+ :param stks: 指定证券列表 或 Block
9813
+ :param ref_ind: 参考指标
9814
+ :param mode: 排序方式: 0-降序排名(指标值最高值排名为1), 1-升序排名(指标值越大排名值越大), 2-降序排名百分比, 3-升序排名百分比
9815
+ :param fill_null: 是否填充缺失值
9816
+ :param market: 板块所属市场
9817
+ :return: 指标值在指定板块中的排名
9818
+ :rtype: Indicator
9819
+ """
9820
+ @typing.overload
9705
9821
  def RECOVER_BACKWARD() -> Indicator:
9706
9822
  ...
9707
9823
  @typing.overload
@@ -12875,6 +12991,217 @@ def WINNER(arg0: float) -> Indicator:
12875
12991
  该函数仅对日线分析周期有效,且仅对存在流通盘权息数据的证券有效,对指数、基金等无效。
12876
12992
  """
12877
12993
  @typing.overload
12994
+ def WITHDAY(fill_null: bool = False) -> Indicator:
12995
+ ...
12996
+ @typing.overload
12997
+ def WITHDAY(ind: Indicator, fill_null: bool = False) -> Indicator:
12998
+ """
12999
+ WITHDAY([ind, fill_null])
13000
+
13001
+ 将指标数据转换到日线
13002
+
13003
+ :param Indicator ind: 指标数据
13004
+ :param bool fill_null: 是否填充空值
13005
+ :rtype: Indicator
13006
+ """
13007
+ @typing.overload
13008
+ def WITHHALFYEAR(fill_null: bool = False) -> Indicator:
13009
+ ...
13010
+ @typing.overload
13011
+ def WITHHALFYEAR(ind: Indicator, fill_null: bool = False) -> Indicator:
13012
+ """
13013
+ WITHHALFYEAR([ind, fill_null])
13014
+
13015
+ 将指标数据转换到半年线
13016
+
13017
+ :param Indicator ind: 指标数据
13018
+ :param bool fill_null: 是否填充空值
13019
+ :rtype: Indicator
13020
+ """
13021
+ @typing.overload
13022
+ def WITHHOUR(fill_null: bool = False) -> Indicator:
13023
+ ...
13024
+ @typing.overload
13025
+ def WITHHOUR(ind: Indicator, fill_null: bool = False) -> Indicator:
13026
+ """
13027
+ WITHHOUR([ind, fill_null])
13028
+
13029
+ 将指标数据转换到60分钟线
13030
+
13031
+ :param Indicator ind: 指标数据
13032
+ :param bool fill_null: 是否填充空值
13033
+ :rtype: Indicator
13034
+ """
13035
+ @typing.overload
13036
+ def WITHHOUR2(fill_null: bool = False) -> Indicator:
13037
+ ...
13038
+ @typing.overload
13039
+ def WITHHOUR2(ind: Indicator, fill_null: bool = False) -> Indicator:
13040
+ """
13041
+ WITHHOUR2([ind, fill_null])
13042
+
13043
+ 将指标数据转换到2小时线
13044
+
13045
+ :param Indicator ind: 指标数据
13046
+ :param bool fill_null: 是否填充空值
13047
+ :rtype: Indicator
13048
+ """
13049
+ @typing.overload
13050
+ def WITHHOUR4(fill_null: bool = False) -> Indicator:
13051
+ ...
13052
+ @typing.overload
13053
+ def WITHHOUR4(ind: Indicator, fill_null: bool = False) -> Indicator:
13054
+ """
13055
+ WITHHOUR4([ind, fill_null])
13056
+
13057
+ 将指标数据转换到4小时线
13058
+
13059
+ :param Indicator ind: 指标数据
13060
+ :param bool fill_null: 是否填充空值
13061
+ :rtype: Indicator
13062
+ """
13063
+ @typing.overload
13064
+ def WITHKTYPE(ktype: str, fill_null: bool = False) -> Indicator:
13065
+ ...
13066
+ @typing.overload
13067
+ def WITHKTYPE(ind: Indicator, ktype: str, fill_null: bool = False) -> Indicator:
13068
+ """
13069
+ WITHKTYPE([ind, ktype, fill_null])
13070
+
13071
+ 将指标数据转换到指定周期
13072
+
13073
+ :param Indicator ind: 指标数据
13074
+ :param KQuery.KType ktype: 指标周期
13075
+ :param bool fill_null: 是否填充空值
13076
+ :rtype: Indicator
13077
+ """
13078
+ @typing.overload
13079
+ def WITHMIN(fill_null: bool = False) -> Indicator:
13080
+ ...
13081
+ @typing.overload
13082
+ def WITHMIN(ind: Indicator, fill_null: bool = False) -> Indicator:
13083
+ """
13084
+ WITHMIN([ind, fill_null])
13085
+
13086
+ 将指标数据转换到分钟线
13087
+
13088
+ :param Indicator ind: 指标数据
13089
+ :param bool fill_null: 是否填充空值
13090
+ :rtype: Indicator
13091
+ """
13092
+ @typing.overload
13093
+ def WITHMIN15(fill_null: bool = False) -> Indicator:
13094
+ ...
13095
+ @typing.overload
13096
+ def WITHMIN15(ind: Indicator, fill_null: bool = False) -> Indicator:
13097
+ """
13098
+ WITHMIN15([ind, fill_null])
13099
+
13100
+ 将指标数据转换到15分钟线
13101
+
13102
+ :param Indicator ind: 指标数据
13103
+ :param bool fill_null: 是否填充空值
13104
+ :rtype: Indicator
13105
+ """
13106
+ @typing.overload
13107
+ def WITHMIN30(fill_null: bool = False) -> Indicator:
13108
+ ...
13109
+ @typing.overload
13110
+ def WITHMIN30(ind: Indicator, fill_null: bool = False) -> Indicator:
13111
+ """
13112
+ WITHMIN30([ind, fill_null])
13113
+
13114
+ 将指标数据转换到30分钟线
13115
+
13116
+ :param Indicator ind: 指标数据
13117
+ :param bool fill_null: 是否填充空值
13118
+ :rtype: Indicator
13119
+ """
13120
+ @typing.overload
13121
+ def WITHMIN5(fill_null: bool = False) -> Indicator:
13122
+ ...
13123
+ @typing.overload
13124
+ def WITHMIN5(ind: Indicator, fill_null: bool = False) -> Indicator:
13125
+ """
13126
+ WITHMIN5([ind, fill_null])
13127
+
13128
+ 将指标数据转换到5分钟线
13129
+
13130
+ :param Indicator ind: 指标数据
13131
+ :param bool fill_null: 是否填充空值
13132
+ :rtype: Indicator
13133
+ """
13134
+ @typing.overload
13135
+ def WITHMIN60(fill_null: bool = False) -> Indicator:
13136
+ ...
13137
+ @typing.overload
13138
+ def WITHMIN60(ind: Indicator, fill_null: bool = False) -> Indicator:
13139
+ """
13140
+ WITHMIN60([ind, fill_null])
13141
+
13142
+ 将指标数据转换到60分钟线
13143
+
13144
+ :param Indicator ind: 指标数据
13145
+ :param bool fill_null: 是否填充空值
13146
+ :rtype: Indicator
13147
+ """
13148
+ @typing.overload
13149
+ def WITHMONTH(fill_null: bool = False) -> Indicator:
13150
+ ...
13151
+ @typing.overload
13152
+ def WITHMONTH(ind: Indicator, fill_null: bool = False) -> Indicator:
13153
+ """
13154
+ WITHMONTH([ind, fill_null])
13155
+
13156
+ 将指标数据转换到月线
13157
+
13158
+ :param Indicator ind: 指标数据
13159
+ :param bool fill_null: 是否填充空值
13160
+ :rtype: Indicator
13161
+ """
13162
+ @typing.overload
13163
+ def WITHQUARTER(fill_null: bool = False) -> Indicator:
13164
+ ...
13165
+ @typing.overload
13166
+ def WITHQUARTER(ind: Indicator, fill_null: bool = False) -> Indicator:
13167
+ """
13168
+ WITHQUARTER([ind, fill_null])
13169
+
13170
+ 将指标数据转换到季线
13171
+
13172
+ :param Indicator ind: 指标数据
13173
+ :param bool fill_null: 是否填充空值
13174
+ :rtype: Indicator
13175
+ """
13176
+ @typing.overload
13177
+ def WITHWEEK(fill_null: bool = False) -> Indicator:
13178
+ ...
13179
+ @typing.overload
13180
+ def WITHWEEK(ind: Indicator, fill_null: bool = False) -> Indicator:
13181
+ """
13182
+ WITHWEEK([ind, fill_null])
13183
+
13184
+ 将指标数据转换到周线
13185
+
13186
+ :param Indicator ind: 指标数据
13187
+ :param bool fill_null: 是否填充空值
13188
+ :rtype: Indicator
13189
+ """
13190
+ @typing.overload
13191
+ def WITHYEAR(fill_null: bool = False) -> Indicator:
13192
+ ...
13193
+ @typing.overload
13194
+ def WITHYEAR(ind: Indicator, fill_null: bool = False) -> Indicator:
13195
+ """
13196
+ WITHYEAR([ind, fill_null])
13197
+
13198
+ 将指标数据转换到年线
13199
+
13200
+ :param Indicator ind: 指标数据
13201
+ :param bool fill_null: 是否填充空值
13202
+ :rtype: Indicator
13203
+ """
13204
+ @typing.overload
12878
13205
  def WMA(n: int = 22) -> Indicator:
12879
13206
  ...
12880
13207
  @typing.overload
@@ -12969,10 +13296,10 @@ def active_device(arg0: str) -> None:
12969
13296
  :param str active_code: 授权码
12970
13297
  """
12971
13298
  @typing.overload
12972
- def backtest(context: StrategyContext, on_bar: typing.Any, tm: TradeManager, start_date: Datetime, end_date: Datetime = ..., ktype: str = 'DAY', ref_market: str = 'SH', mode: int = 0) -> None:
13299
+ def backtest(context: StrategyContext, on_bar: typing.Any, tm: TradeManager, start_date: Datetime, end_date: Datetime = ..., ktype: str = 'DAY', ref_market: str = 'SH', mode: int = 0, support_short: bool = False) -> None:
12973
13300
  ...
12974
13301
  @typing.overload
12975
- def backtest(on_bar: typing.Any, tm: TradeManager, start_date: Datetime, end_date: Datetime = ..., ktype: str = 'DAY', ref_market: str = 'SH', mode: int = 0) -> None:
13302
+ def backtest(on_bar: typing.Any, tm: TradeManager, start_date: Datetime, end_date: Datetime = ..., ktype: str = 'DAY', ref_market: str = 'SH', mode: int = 0, support_short: bool = False) -> None:
12976
13303
  """
12977
13304
  backtest([context], on_bar, tm, start_date, end_date, ktype, ref_market, mode)
12978
13305
 
@@ -12989,6 +13316,7 @@ def backtest(on_bar: typing.Any, tm: TradeManager, start_date: Datetime, end_dat
12989
13316
  :param Query.KType ktype: K线类型(按该类型逐 Bar 执行测试)
12990
13317
  :param str ref_market: 所属市场
12991
13318
  :param mode 模式 0: 当前bar收盘价执行买卖操作; 1: 下一bar开盘价执行买卖操作
13319
+ :param support_short: 是否支持卖空
12992
13320
  """
12993
13321
  def batch_calculate_inds(arg0: typing.Sequence, arg1: KData) -> list:
12994
13322
  """