hikyuu 2.3.1__py3-none-win_amd64.whl → 2.5.0__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.
- hikyuu/__init__.py +438 -6
- hikyuu/__init__.pyi +647 -496
- hikyuu/analysis/__init__.pyi +478 -466
- hikyuu/analysis/analysis.pyi +500 -486
- hikyuu/core.pyi +480 -468
- hikyuu/cpp/__init__.pyi +2 -2
- hikyuu/cpp/core310.pyd +0 -0
- hikyuu/cpp/core311.pyd +0 -0
- hikyuu/cpp/core312.pyd +0 -0
- hikyuu/cpp/core312.pyi +431 -67
- hikyuu/cpp/core313.pyd +0 -0
- hikyuu/cpp/core38.pyd +0 -0
- hikyuu/cpp/core39.pyd +0 -0
- hikyuu/cpp/hikyuu.dll +0 -0
- hikyuu/cpp/hikyuu.lib +0 -0
- hikyuu/cpp/sqlite3.dll +0 -0
- hikyuu/data/common_mysql.py +24 -7
- hikyuu/data/common_pytdx.py +17 -1
- hikyuu/data/em_block_to_mysql.py +3 -2
- hikyuu/data/em_block_to_sqlite.py +8 -3
- hikyuu/data/mysql_upgrade/0026.sql +9 -0
- hikyuu/data/sqlite_upgrade/0026.sql +10 -0
- hikyuu/draw/__init__.pyi +35 -0
- hikyuu/draw/drawplot/__init__.pyi +134 -0
- hikyuu/draw/drawplot/bokeh_draw.pyi +796 -0
- hikyuu/draw/drawplot/common.pyi +10 -0
- hikyuu/draw/drawplot/echarts_draw.py +5 -12
- hikyuu/draw/drawplot/echarts_draw.pyi +682 -0
- hikyuu/draw/drawplot/matplotlib_draw.py +18 -3
- hikyuu/draw/drawplot/matplotlib_draw.pyi +1101 -0
- hikyuu/draw/elder.pyi +44 -0
- hikyuu/draw/kaufman.pyi +38 -0
- hikyuu/draw/volume.pyi +31 -0
- hikyuu/examples/notebook/Demo/Demo2.ipynb +1 -1
- hikyuu/extend.py +9 -3
- hikyuu/extend.pyi +524 -504
- hikyuu/fetcher/stock/zh_block_em.py +118 -51
- hikyuu/gui/data/EscapetimeThread.py +4 -4
- hikyuu/gui/data/ImportBlockInfoTask.py +3 -2
- hikyuu/gui/data/ImportHistoryFinanceTask.py +2 -0
- hikyuu/gui/data/MainWindow.py +48 -42
- hikyuu/gui/importdata.py +13 -26
- hikyuu/hub.py +2 -4
- hikyuu/hub.pyi +52 -58
- hikyuu/include/hikyuu/DataType.h +5 -0
- hikyuu/include/hikyuu/Stock.h +7 -0
- hikyuu/include/hikyuu/indicator/Indicator.h +1 -1
- hikyuu/include/hikyuu/indicator/Indicator2InImp.h +65 -0
- hikyuu/include/hikyuu/indicator/IndicatorImp.h +1 -3
- hikyuu/include/hikyuu/indicator/build_in.h +7 -0
- hikyuu/include/hikyuu/indicator/crt/COST.h +3 -0
- hikyuu/include/hikyuu/indicator/crt/CYCLE.h +24 -0
- hikyuu/include/hikyuu/indicator/crt/DISCARD.h +27 -0
- hikyuu/include/hikyuu/indicator/crt/HSL.h +1 -13
- hikyuu/include/hikyuu/indicator/crt/INBLOCK.h +31 -0
- hikyuu/include/hikyuu/indicator/crt/INDEX.h +35 -23
- hikyuu/include/hikyuu/indicator/crt/JUMPDOWN.h +24 -0
- hikyuu/include/hikyuu/indicator/crt/JUMPUP.h +24 -0
- hikyuu/include/hikyuu/indicator/crt/LASTVALUE.h +29 -0
- hikyuu/include/hikyuu/indicator/crt/LIUTONGPAN.h +1 -0
- hikyuu/include/hikyuu/indicator/crt/WINNER.h +38 -0
- hikyuu/include/hikyuu/indicator/imp/ICorr.h +6 -21
- hikyuu/include/hikyuu/indicator/imp/ICost.h +31 -0
- hikyuu/include/hikyuu/indicator/imp/ICycle.h +30 -0
- hikyuu/include/hikyuu/indicator/imp/IDiscard.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IDma.h +6 -23
- hikyuu/include/hikyuu/indicator/imp/IHsl.h +30 -0
- hikyuu/include/hikyuu/indicator/imp/IInBlock.h +30 -0
- hikyuu/include/hikyuu/indicator/imp/IIndex.h +26 -0
- hikyuu/include/hikyuu/indicator/imp/IJumpDown.h +24 -0
- hikyuu/include/hikyuu/indicator/imp/IJumpUp.h +24 -0
- hikyuu/include/hikyuu/indicator/imp/ILastValue.h +26 -0
- hikyuu/include/hikyuu/indicator/imp/ISpearman.h +5 -20
- hikyuu/include/hikyuu/indicator/imp/IWinner.h +26 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaMavp.h +5 -19
- hikyuu/include/hikyuu/indicator_talib/imp/ta_defines.h +12 -63
- hikyuu/include/hikyuu/indicator_talib/imp/ta_imp.h +7 -53
- hikyuu/include/hikyuu/strategy/RunPortfolioInStrategy.h +3 -4
- hikyuu/include/hikyuu/strategy/Strategy.h +4 -5
- hikyuu/include/hikyuu/trade_manage/TradeRecord.h +5 -1
- hikyuu/include/hikyuu/trade_sys/allocatefunds/build_in.h +1 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_FixedWeightList.h +22 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/FixedWeightListAllocateFunds.h +25 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/MoneyManagerBase.h +17 -4
- hikyuu/include/hikyuu/trade_sys/moneymanager/build_in.h +2 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCapital.h +6 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCapitalFunds.h +26 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCountTps.h +27 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedRisk.h +6 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedUnits.h +6 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_WilliamsFixedRisk.h +7 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCapitalFundsMM.h +28 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCountTpsMM.h +44 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +38 -37
- hikyuu/include/hikyuu/trade_sys/portfolio/build_in.h +1 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/crt/PF_Simple.h +25 -1
- hikyuu/include/hikyuu/trade_sys/portfolio/crt/PF_WithoutAF.h +50 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/imp/SimplePortfolio.h +53 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/imp/WithoutAFPortfolio.h +57 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector.h +7 -0
- hikyuu/include/hikyuu/trade_sys/signal/SignalBase.h +51 -5
- hikyuu/include/hikyuu/trade_sys/signal/build_in.h +2 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Bool.h +2 -1
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Logic.h +37 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_OneSide.h +28 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/OneSideSignal.h +46 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/logic/AddSignal.h +19 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/logic/AddValueSignal.h +19 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/logic/DivSignal.h +19 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/logic/DivValueSignal.h +22 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/logic/MulSignal.h +19 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/logic/MulValueSignal.h +19 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/logic/OperatorSignal.h +68 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/logic/OperatorValueSignal.h +67 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/logic/SubSignal.h +19 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/logic/SubValueSignal.h +22 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/logic/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Indicator.h +1 -1
- hikyuu/include/hikyuu/trade_sys/stoploss/imp/IndicatorStoploss.h +3 -4
- hikyuu/include/hikyuu/utilities/FilterNode.h +2 -2
- hikyuu/include/hikyuu/utilities/Log.h +42 -15
- hikyuu/include/hikyuu/utilities/datetime/Datetime.h +1 -1
- hikyuu/include/hikyuu/utilities/datetime/TimeDelta.h +2 -2
- hikyuu/include/hikyuu/utilities/db_connect/DBCondition.h +4 -0
- hikyuu/include/hikyuu/utilities/db_connect/SQLResultSet.h +2 -2
- hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLConnect.h +5 -1
- hikyuu/include/hikyuu/utilities/node/NodeServer.h +4 -4
- hikyuu/include/hikyuu/utilities/thread/MQStealThreadPool.h +2 -2
- hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +2 -2
- hikyuu/include/hikyuu/utilities/thread/StealThreadPool.h +5 -5
- hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +2 -2
- hikyuu/include/hikyuu/utilities/thread/algorithm.h +16 -10
- hikyuu/include/hikyuu/version.h +5 -5
- hikyuu/indicator/indicator.py +1 -0
- hikyuu/interactive.py +1 -318
- hikyuu/trade_manage/__init__.pyi +492 -478
- hikyuu/trade_manage/broker.pyi +18 -19
- hikyuu/trade_manage/broker_easytrader.pyi +4 -6
- hikyuu/trade_manage/broker_mail.pyi +24 -22
- hikyuu/trade_manage/trade.pyi +492 -478
- hikyuu/util/check.pyi +15 -17
- hikyuu/util/mylog.pyi +7 -8
- hikyuu/util/notebook.pyi +11 -9
- hikyuu/util/singleton.pyi +6 -8
- hikyuu/util/slice.pyi +2 -1
- {hikyuu-2.3.1.dist-info → hikyuu-2.5.0.dist-info}/METADATA +2 -2
- {hikyuu-2.3.1.dist-info → hikyuu-2.5.0.dist-info}/RECORD +151 -105
- {hikyuu-2.3.1.dist-info → hikyuu-2.5.0.dist-info}/top_level.txt +1 -0
- hikyuu/cpp/core310.pyi +0 -12503
- hikyuu/cpp/core311.pyi +0 -12503
- hikyuu/cpp/core313.pyi +0 -12494
- hikyuu/cpp/core38.pyi +0 -12503
- hikyuu/cpp/core39.pyi +0 -12503
- hikyuu/deprecated.py +0 -651
- {hikyuu-2.3.1.dist-info → hikyuu-2.5.0.dist-info}/LICENSE +0 -0
- {hikyuu-2.3.1.dist-info → hikyuu-2.5.0.dist-info}/WHEEL +0 -0
- {hikyuu-2.3.1.dist-info → hikyuu-2.5.0.dist-info}/entry_points.txt +0 -0
hikyuu/cpp/core312.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_MultiFactor', 'ALIGN', 'AMA', 'ASIN', 'ATAN', 'ATR', 'AVEDEV', 'AllocateFundsBase', 'BACKSET', 'BARSCOUNT', 'BARSLAST', 'BARSSINCE', 'BETWEEN', 'BLOCKSETNUM', 'BUSINESS', 'Block', 'BlockInfoDriver', 'BorrowRecord', 'BrokerPositionRecord', 'CEILING', 'CN_Bool', 'CN_OPLine', 'CONTEXT', 'CONTEXT_K', 'CORR', 'COS', 'COST', 'COUNT', 'CROSS', 'CVAL', 'C_AMO', 'C_CLOSE', 'C_HIGH', 'C_KDATA', 'C_LOW', 'C_OPEN', 'C_VOL', 'ConditionBase', 'Constant', 'CostRecord', 'DATE', 'DAY', 'DEBUG', 'DECLINE', 'DEVSQ', 'DIFF', 'DIRECT', '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', 'INDEXA', 'INDEXADV', 'INDEXC', 'INDEXDEC', 'INDEXH', 'INDEXL', 'INDEXO', 'INDEXV', 'INFO', 'INSUM', 'INTPART', 'IR', 'ISINF', 'ISINFA', 'ISLASTBAR', 'ISNA', 'IndParam', 'Indicator', 'IndicatorImp', 'KDATA_PART', 'KData', 'KDataDriver', 'KRecord', 'KRecordList', 'LAST', '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_FixedCount', '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', '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_AllwaysBuy', 'SG_Band', 'SG_Bool', 'SG_Cross', 'SG_CrossGold', 'SG_Cycle', 'SG_Flex', 'SG_Single', 'SG_Single2', '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', 'TRACE', 'TURNOVER', 'TimeDelta', 'TimeLineList', 'TimeLineRecord', 'TradeCostBase', 'TradeManager', 'TradeRecord', 'TradeRecordList', 'TradeRequest', 'TransList', 'TransRecord', 'UPNDAY', 'VAR', 'VARP', 'VIGOR', 'WARN', 'WEAVE', 'WEEK', 'WMA', 'YEAR', 'ZHBOND10', 'ZONGGUBEN', 'ZSCORE', 'can_upgrade', 'close_ostream_to_python', 'close_spend_time', 'combinate_ind', 'combinate_index', 'constant', 'crtBrokerTM', 'crtSEOptimal', 'crtTM', 'crt_pf_strategy', 'crt_sys_strategy', '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', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'set_log_level', 'set_python_in_interactive', 'set_python_in_jupyter', 'start_spot_agent', 'stop_spot_agent', 'toPriceList']
|
|
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', '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', 'KDATA_PART', 'KData', 'KDataDriver', '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_AllwaysBuy', 'SG_Band', 'SG_Bool', 'SG_Cross', 'SG_CrossGold', 'SG_Cycle', 'SG_Flex', 'SG_OneSide', 'SG_Single', 'SG_Single2', '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', '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', 'can_upgrade', 'close_ostream_to_python', 'close_spend_time', 'combinate_ind', 'combinate_index', 'constant', 'crtBrokerTM', 'crtSEOptimal', 'crtTM', 'crt_pf_strategy', 'crt_sys_strategy', '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', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'set_log_level', 'set_python_in_interactive', 'set_python_in_jupyter', 'start_spot_agent', 'stop_spot_agent', 'toPriceList']
|
|
5
5
|
class AllocateFundsBase:
|
|
6
6
|
"""
|
|
7
7
|
资产分配算法基类, 子类接口:
|
|
@@ -456,6 +456,18 @@ class ConditionBase:
|
|
|
456
456
|
@staticmethod
|
|
457
457
|
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
458
458
|
...
|
|
459
|
+
@staticmethod
|
|
460
|
+
def plot(cn, new = True, axes = None, kdata = None):
|
|
461
|
+
"""
|
|
462
|
+
绘制系统有效条件
|
|
463
|
+
|
|
464
|
+
:param ConditionBase cn: 系统有效条件
|
|
465
|
+
:param new: 仅在未指定axes的情况下生效,当为True时,创建新的窗口对象并在其中进行绘制
|
|
466
|
+
:param axes: 指定在那个轴对象中进行绘制
|
|
467
|
+
:param KData kdata: 指定的KData,如该值为None,则认为该系统有效条件已经
|
|
468
|
+
指定了交易对象,否则,使用该参数作为交易对象
|
|
469
|
+
|
|
470
|
+
"""
|
|
459
471
|
def __add__(self, arg0: ConditionBase) -> ConditionBase:
|
|
460
472
|
...
|
|
461
473
|
def __and__(self, arg0: ConditionBase) -> ConditionBase:
|
|
@@ -1290,6 +1302,17 @@ class EnvironmentBase:
|
|
|
1290
1302
|
@staticmethod
|
|
1291
1303
|
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
1292
1304
|
...
|
|
1305
|
+
@staticmethod
|
|
1306
|
+
def plot(ev, ref_kdata, new = True, axes = None):
|
|
1307
|
+
"""
|
|
1308
|
+
绘制市场有效判断
|
|
1309
|
+
|
|
1310
|
+
:param EnvironmentBase cn: 系统有效条件
|
|
1311
|
+
:param KData ref_kdata: 用于日期参考
|
|
1312
|
+
:param new: 仅在未指定axes的情况下生效,当为True时,创建新的窗口对象并在其中进行绘制
|
|
1313
|
+
:param axes: 指定在那个轴对象中进行绘制
|
|
1314
|
+
|
|
1315
|
+
"""
|
|
1293
1316
|
def __getstate__(self) -> tuple:
|
|
1294
1317
|
...
|
|
1295
1318
|
@typing.overload
|
|
@@ -1527,6 +1550,27 @@ class Indicator:
|
|
|
1527
1550
|
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
1528
1551
|
...
|
|
1529
1552
|
@staticmethod
|
|
1553
|
+
def bar(indicator, new = True, axes = None, kref = None, legend_on = False, text_on = False, text_color = 'k', label = None, width = 0.4, color = 'r', edgecolor = 'r', zero_on = False, *args, **kwargs):
|
|
1554
|
+
"""
|
|
1555
|
+
绘制indicator柱状图
|
|
1556
|
+
|
|
1557
|
+
:param Indicator indicator: Indicator实例
|
|
1558
|
+
:param axes: 指定的坐标轴
|
|
1559
|
+
:param new: 是否在新窗口中显示,只在没有指定axes时生效
|
|
1560
|
+
:param kref: 参考的K线数据,以便绘制日期X坐标
|
|
1561
|
+
:param legend_on: 是否打开图例
|
|
1562
|
+
:param text_on: 是否在左上角显示指标名称及其参数
|
|
1563
|
+
:param text_color: 指标名称解释文字的颜色,默认为黑色
|
|
1564
|
+
:param str label: label显示文字信息,text_on 及 legend_on 为 True 时生效
|
|
1565
|
+
:param zero_on: 是否需要在y=0轴上绘制一条直线
|
|
1566
|
+
:param width: Bar的宽度
|
|
1567
|
+
:param color: Bar的颜色
|
|
1568
|
+
:param edgecolor: Bar边缘颜色
|
|
1569
|
+
:param args: pylab plot参数
|
|
1570
|
+
:param kwargs: pylab plot参数
|
|
1571
|
+
|
|
1572
|
+
"""
|
|
1573
|
+
@staticmethod
|
|
1530
1574
|
def exist_nan(*args, **kwargs) -> bool:
|
|
1531
1575
|
"""
|
|
1532
1576
|
exist_nan(self, result_index)
|
|
@@ -1537,6 +1581,26 @@ class Indicator:
|
|
|
1537
1581
|
:rtype: bool
|
|
1538
1582
|
"""
|
|
1539
1583
|
@staticmethod
|
|
1584
|
+
def plot(indicator, new = True, axes = None, kref = None, legend_on = False, text_on = False, text_color = 'k', zero_on = False, label = None, linestyle = '-', *args, **kwargs):
|
|
1585
|
+
"""
|
|
1586
|
+
绘制indicator曲线
|
|
1587
|
+
|
|
1588
|
+
:param Indicator indicator: indicator实例
|
|
1589
|
+
:param axes: 指定的坐标轴
|
|
1590
|
+
:param new: 是否在新窗口中显示,只在没有指定axes时生效
|
|
1591
|
+
:param kref: 参考的K线数据,以便绘制日期X坐标
|
|
1592
|
+
:param legend_on: 是否打开图例
|
|
1593
|
+
:param text_on: 是否在左上角显示指标名称及其参数
|
|
1594
|
+
:param text_color: 指标名称解释文字的颜色,默认为黑色
|
|
1595
|
+
:param zero_on: 是否需要在y=0轴上绘制一条直线
|
|
1596
|
+
:param str label: label显示文字信息,text_on 及 legend_on 为 True 时生效
|
|
1597
|
+
:param args: pylab plot参数
|
|
1598
|
+
:param kwargs: pylab plot参数,如:marker(标记类型)、
|
|
1599
|
+
markerfacecolor(标记颜色)、
|
|
1600
|
+
markeredgecolor(标记的边缘颜色)
|
|
1601
|
+
|
|
1602
|
+
"""
|
|
1603
|
+
@staticmethod
|
|
1540
1604
|
def to_df(indicator):
|
|
1541
1605
|
"""
|
|
1542
1606
|
转化为pandas.DataFrame
|
|
@@ -2018,6 +2082,43 @@ class KData:
|
|
|
2018
2082
|
|
|
2019
2083
|
"""
|
|
2020
2084
|
@staticmethod
|
|
2085
|
+
def kplot(kdata, new = True, axes = None, colorup = 'r', colordown = 'g'):
|
|
2086
|
+
"""
|
|
2087
|
+
绘制K线图
|
|
2088
|
+
|
|
2089
|
+
:param KData kdata: K线数据
|
|
2090
|
+
:param bool new: 是否在新窗口中显示,只在没有指定axes时生效
|
|
2091
|
+
:param axes: 指定的坐标轴
|
|
2092
|
+
:param colorup: the color of the rectangle where close >= open
|
|
2093
|
+
:param colordown: the color of the rectangle where close < open
|
|
2094
|
+
|
|
2095
|
+
"""
|
|
2096
|
+
@staticmethod
|
|
2097
|
+
def mkplot(kdata, new = True, axes = None, colorup = 'r', colordown = 'g', ticksize = 3):
|
|
2098
|
+
"""
|
|
2099
|
+
绘制美式K线图
|
|
2100
|
+
|
|
2101
|
+
:param KData kdata: K线数据
|
|
2102
|
+
:param bool new: 是否在新窗口中显示,只在没有指定axes时生效
|
|
2103
|
+
:param axes: 指定的坐标轴
|
|
2104
|
+
:param colorup: the color of the lines where close >= open
|
|
2105
|
+
:param colordown: the color of the lines where close < open
|
|
2106
|
+
:param ticksize: open/close tick marker in points
|
|
2107
|
+
|
|
2108
|
+
"""
|
|
2109
|
+
@staticmethod
|
|
2110
|
+
def plot(kdata, new = True, axes = None, colorup = 'r', colordown = 'g'):
|
|
2111
|
+
"""
|
|
2112
|
+
绘制K线图
|
|
2113
|
+
|
|
2114
|
+
:param KData kdata: K线数据
|
|
2115
|
+
:param bool new: 是否在新窗口中显示,只在没有指定axes时生效
|
|
2116
|
+
:param axes: 指定的坐标轴
|
|
2117
|
+
:param colorup: the color of the rectangle where close >= open
|
|
2118
|
+
:param colordown: the color of the rectangle where close < open
|
|
2119
|
+
|
|
2120
|
+
"""
|
|
2121
|
+
@staticmethod
|
|
2021
2122
|
def to_df(kdata):
|
|
2022
2123
|
"""
|
|
2023
2124
|
转化为pandas的DataFrame
|
|
@@ -2581,8 +2682,8 @@ class MoneyManagerBase:
|
|
|
2581
2682
|
|
|
2582
2683
|
自定义资金管理策略接口:
|
|
2583
2684
|
|
|
2584
|
-
-
|
|
2585
|
-
-
|
|
2685
|
+
- _buyNotify : 【可选】接收实际买入通知,预留用于多次增减仓处理
|
|
2686
|
+
- _sellNotify : 【可选】接收实际卖出通知,预留用于多次增减仓处理
|
|
2586
2687
|
- _getBuyNumber : 【必须】获取指定交易对象可买入的数量
|
|
2587
2688
|
- _getSellNumber : 【可选】获取指定交易对象可卖出的数量,如未重载,默认为卖出全部已持仓数量
|
|
2588
2689
|
- _reset : 【可选】重置私有属性
|
|
@@ -2612,6 +2713,14 @@ class MoneyManagerBase:
|
|
|
2612
2713
|
...
|
|
2613
2714
|
def __str__(self) -> str:
|
|
2614
2715
|
...
|
|
2716
|
+
def _buy_notify(self, arg0: TradeRecord) -> None:
|
|
2717
|
+
"""
|
|
2718
|
+
_buy_notify(self, trade_record)
|
|
2719
|
+
|
|
2720
|
+
【重载接口】交易系统发生实际买入操作时,通知交易变化情况,一般存在多次增减仓的情况才需要重载
|
|
2721
|
+
|
|
2722
|
+
:param TradeRecord trade_record: 发生实际买入时的实际买入交易记录
|
|
2723
|
+
"""
|
|
2615
2724
|
def _get_buy_num(self, arg0: Datetime, arg1: Stock, arg2: float, arg3: float, arg4: SystemPart) -> float:
|
|
2616
2725
|
"""
|
|
2617
2726
|
_get_buy_num(self, datetime, stock, price, risk, part_from)
|
|
@@ -2648,18 +2757,26 @@ class MoneyManagerBase:
|
|
|
2648
2757
|
"""
|
|
2649
2758
|
【重载接口】子类复位接口,复位内部私有变量
|
|
2650
2759
|
"""
|
|
2651
|
-
def
|
|
2760
|
+
def _sell_notify(self, arg0: TradeRecord) -> None:
|
|
2652
2761
|
"""
|
|
2653
|
-
|
|
2762
|
+
_sell_notify(self, trade_record)
|
|
2654
2763
|
|
|
2655
|
-
|
|
2764
|
+
【重载接口】交易系统发生实际卖出操作时,通知实际交易变化情况,一般存在多次增减仓的情况才需要重载
|
|
2656
2765
|
|
|
2657
|
-
:param TradeRecord trade_record:
|
|
2766
|
+
:param TradeRecord trade_record: 发生实际卖出时的实际卖出交易记录
|
|
2658
2767
|
"""
|
|
2659
2768
|
def clone(self) -> MoneyManagerBase:
|
|
2660
2769
|
"""
|
|
2661
2770
|
克隆操作
|
|
2662
2771
|
"""
|
|
2772
|
+
def current_buy_count(self, arg0: Stock) -> int:
|
|
2773
|
+
"""
|
|
2774
|
+
当前连续买入计数
|
|
2775
|
+
"""
|
|
2776
|
+
def current_sell_count(self, arg0: Stock) -> int:
|
|
2777
|
+
"""
|
|
2778
|
+
当前连续卖出计数
|
|
2779
|
+
"""
|
|
2663
2780
|
def get_buy_num(self, arg0: Datetime, arg1: Stock, arg2: float, arg3: float, arg4: SystemPart) -> float:
|
|
2664
2781
|
"""
|
|
2665
2782
|
get_buy_num(self, datetime, stock, price, risk, part_from)
|
|
@@ -2710,14 +2827,6 @@ class MoneyManagerBase:
|
|
|
2710
2827
|
"""
|
|
2711
2828
|
复位操作
|
|
2712
2829
|
"""
|
|
2713
|
-
def sell_notify(self, arg0: TradeRecord) -> None:
|
|
2714
|
-
"""
|
|
2715
|
-
sell_notify(self, trade_record)
|
|
2716
|
-
|
|
2717
|
-
【重载接口】交易系统发生实际卖出操作时,通知实际交易变化情况,一般存在多次增减仓的情况才需要重载
|
|
2718
|
-
|
|
2719
|
-
:param TradeRecord trade_record: 发生实际卖出时的实际卖出交易记录
|
|
2720
|
-
"""
|
|
2721
2830
|
def set_param(self, arg0: str, arg1: any) -> None:
|
|
2722
2831
|
"""
|
|
2723
2832
|
set_param(self, name, value)
|
|
@@ -3146,6 +3255,9 @@ class Portfolio:
|
|
|
3146
3255
|
@staticmethod
|
|
3147
3256
|
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
3148
3257
|
...
|
|
3258
|
+
@staticmethod
|
|
3259
|
+
def performance(sys, ref_stk = None):
|
|
3260
|
+
...
|
|
3149
3261
|
def __getstate__(self) -> tuple:
|
|
3150
3262
|
...
|
|
3151
3263
|
@typing.overload
|
|
@@ -3155,7 +3267,7 @@ class Portfolio:
|
|
|
3155
3267
|
def __init__(self, arg0: str) -> None:
|
|
3156
3268
|
...
|
|
3157
3269
|
@typing.overload
|
|
3158
|
-
def __init__(self, arg0:
|
|
3270
|
+
def __init__(self, arg0: str, arg1: TradeManager, arg2: SelectorBase, arg3: AllocateFundsBase) -> None:
|
|
3159
3271
|
...
|
|
3160
3272
|
def __repr__(self) -> str:
|
|
3161
3273
|
...
|
|
@@ -3185,9 +3297,9 @@ class Portfolio:
|
|
|
3185
3297
|
"""
|
|
3186
3298
|
复位操作
|
|
3187
3299
|
"""
|
|
3188
|
-
def run(self, query: Query,
|
|
3300
|
+
def run(self, query: Query, force: bool = False) -> None:
|
|
3189
3301
|
"""
|
|
3190
|
-
run(self, query[,
|
|
3302
|
+
run(self, query[, force=false])
|
|
3191
3303
|
|
|
3192
3304
|
运行投资组合策略。在查询条件及各组件没有变化时,PF在第二次执行时,默认不会实际进行计算。
|
|
3193
3305
|
但由于各个组件的参数可能改变,此种情况无法自动判断是否需要重计算,可以手工指定进行强制计算。
|
|
@@ -3203,10 +3315,7 @@ class Portfolio:
|
|
|
3203
3315
|
的第一个交易日。
|
|
3204
3316
|
|
|
3205
3317
|
:param Query query: 查询条件
|
|
3206
|
-
:param int adjust_cycle: 调仓周期
|
|
3207
3318
|
:param bool force: 强制重新计算
|
|
3208
|
-
:param str adjust_mode: 调仓模式,默认为"query"
|
|
3209
|
-
:param bool delay_to_trading_day: 是否顺延至当前周期内第一个交易日进行调仓
|
|
3210
3319
|
"""
|
|
3211
3320
|
def set_param(self, arg0: str, arg1: any) -> None:
|
|
3212
3321
|
"""
|
|
@@ -4115,6 +4224,28 @@ class SignalBase:
|
|
|
4115
4224
|
@staticmethod
|
|
4116
4225
|
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
4117
4226
|
...
|
|
4227
|
+
@staticmethod
|
|
4228
|
+
def plot(sg, new = True, axes = None, style = 1, kdata = None):
|
|
4229
|
+
"""
|
|
4230
|
+
绘制买入/卖出信号
|
|
4231
|
+
|
|
4232
|
+
:param SignalBase sg: 信号指示器
|
|
4233
|
+
:param new: 仅在未指定axes的情况下生效,当为True时,创建新的窗口对象并在其中进行绘制
|
|
4234
|
+
:param axes: 指定在那个轴对象中进行绘制
|
|
4235
|
+
:param style: 1 | 2 信号箭头绘制样式
|
|
4236
|
+
:param KData kdata: 指定的KData(即信号发生器的交易对象),
|
|
4237
|
+
如该值为None,则认为该信号发生器已经指定了交易对象,
|
|
4238
|
+
否则,使用该参数作为交易对象
|
|
4239
|
+
|
|
4240
|
+
"""
|
|
4241
|
+
@typing.overload
|
|
4242
|
+
def __add__(self, arg0: SignalBase) -> SignalBase:
|
|
4243
|
+
...
|
|
4244
|
+
@typing.overload
|
|
4245
|
+
def __add__(self, arg0: float) -> SignalBase:
|
|
4246
|
+
...
|
|
4247
|
+
def __and__(self, arg0: SignalBase) -> SignalBase:
|
|
4248
|
+
...
|
|
4118
4249
|
def __getstate__(self) -> tuple:
|
|
4119
4250
|
...
|
|
4120
4251
|
@typing.overload
|
|
@@ -4126,13 +4257,41 @@ class SignalBase:
|
|
|
4126
4257
|
@typing.overload
|
|
4127
4258
|
def __init__(self, arg0: SignalBase) -> None:
|
|
4128
4259
|
...
|
|
4260
|
+
@typing.overload
|
|
4261
|
+
def __mul__(self, arg0: SignalBase) -> SignalBase:
|
|
4262
|
+
...
|
|
4263
|
+
@typing.overload
|
|
4264
|
+
def __mul__(self, arg0: float) -> SignalBase:
|
|
4265
|
+
...
|
|
4266
|
+
def __or__(self, arg0: SignalBase) -> SignalBase:
|
|
4267
|
+
...
|
|
4268
|
+
def __radd__(self, arg0: float) -> SignalBase:
|
|
4269
|
+
...
|
|
4129
4270
|
def __repr__(self) -> str:
|
|
4130
4271
|
...
|
|
4272
|
+
def __rmul__(self, arg0: float) -> SignalBase:
|
|
4273
|
+
...
|
|
4274
|
+
def __rsub__(self, arg0: float) -> SignalBase:
|
|
4275
|
+
...
|
|
4276
|
+
def __rtruediv__(self, arg0: float) -> SignalBase:
|
|
4277
|
+
...
|
|
4131
4278
|
def __setstate__(self, arg0: tuple) -> None:
|
|
4132
4279
|
...
|
|
4133
4280
|
def __str__(self) -> str:
|
|
4134
4281
|
...
|
|
4135
|
-
|
|
4282
|
+
@typing.overload
|
|
4283
|
+
def __sub__(self, arg0: SignalBase) -> SignalBase:
|
|
4284
|
+
...
|
|
4285
|
+
@typing.overload
|
|
4286
|
+
def __sub__(self, arg0: float) -> SignalBase:
|
|
4287
|
+
...
|
|
4288
|
+
@typing.overload
|
|
4289
|
+
def __truediv__(self, arg0: SignalBase) -> SignalBase:
|
|
4290
|
+
...
|
|
4291
|
+
@typing.overload
|
|
4292
|
+
def __truediv__(self, arg0: float) -> SignalBase:
|
|
4293
|
+
...
|
|
4294
|
+
def _add_buy_signal(self, datetime: Datetime, value: float = 1.0) -> None:
|
|
4136
4295
|
"""
|
|
4137
4296
|
_add_buy_signal(self, datetime)
|
|
4138
4297
|
|
|
@@ -4140,7 +4299,7 @@ class SignalBase:
|
|
|
4140
4299
|
|
|
4141
4300
|
:param Datetime datetime: 指示买入的日期
|
|
4142
4301
|
"""
|
|
4143
|
-
def _add_sell_signal(self,
|
|
4302
|
+
def _add_sell_signal(self, datetime: Datetime, value: float = -1.0) -> None:
|
|
4144
4303
|
"""
|
|
4145
4304
|
_add_sell_signal(self, datetime)
|
|
4146
4305
|
|
|
@@ -4148,6 +4307,8 @@ class SignalBase:
|
|
|
4148
4307
|
|
|
4149
4308
|
:param Datetime datetime: 指示卖出的日期
|
|
4150
4309
|
"""
|
|
4310
|
+
def _add_signal(self, datetime: Datetime, value: float) -> None:
|
|
4311
|
+
...
|
|
4151
4312
|
def _calculate(self, arg0: KData) -> None:
|
|
4152
4313
|
"""
|
|
4153
4314
|
_calculate(self, kdata)
|
|
@@ -4542,6 +4703,16 @@ class Stock:
|
|
|
4542
4703
|
:param Query query: 查询条件(查询条件中的K线类型、复权类型参数此时无用)
|
|
4543
4704
|
:rtype: TimeLineList
|
|
4544
4705
|
"""
|
|
4706
|
+
def get_trading_calendar(self, query: Query) -> DatetimeList:
|
|
4707
|
+
"""
|
|
4708
|
+
get_trading_calendar(self, query)
|
|
4709
|
+
|
|
4710
|
+
获取自身市场的交易日日历((不是本身的交易日期)
|
|
4711
|
+
|
|
4712
|
+
:param KQuery query: Query查询条件
|
|
4713
|
+
:return: 日期列表
|
|
4714
|
+
:rtype: DatetimeList
|
|
4715
|
+
"""
|
|
4545
4716
|
def get_trans_list(self, arg0: Query) -> TransList:
|
|
4546
4717
|
"""
|
|
4547
4718
|
get_trans_list(self, query)
|
|
@@ -5489,6 +5660,22 @@ class System:
|
|
|
5489
5660
|
@staticmethod
|
|
5490
5661
|
def _pybind11_conduit_v1_(*args, **kwargs):
|
|
5491
5662
|
...
|
|
5663
|
+
@staticmethod
|
|
5664
|
+
def performance(sys, ref_stk = None):
|
|
5665
|
+
...
|
|
5666
|
+
@staticmethod
|
|
5667
|
+
def plot(sys, new = True, axes = None, style = 1, only_draw_close = False):
|
|
5668
|
+
"""
|
|
5669
|
+
绘制系统实际买入/卖出信号
|
|
5670
|
+
|
|
5671
|
+
:param SystemBase sys: 系统实例
|
|
5672
|
+
:param new: 仅在未指定axes的情况下生效,当为True时,
|
|
5673
|
+
创建新的窗口对象并在其中进行绘制
|
|
5674
|
+
:param axes: 指定在那个轴对象中进行绘制
|
|
5675
|
+
:param style: 1 | 2 信号箭头绘制样式
|
|
5676
|
+
:param bool only_draw_close: 不绘制K线,仅绘制 close
|
|
5677
|
+
|
|
5678
|
+
"""
|
|
5492
5679
|
def __getstate__(self) -> tuple:
|
|
5493
5680
|
...
|
|
5494
5681
|
@typing.overload
|
|
@@ -7338,6 +7525,14 @@ def AF_FixedWeight(weight: float = 0.1) -> AllocateFundsBase:
|
|
|
7338
7525
|
|
|
7339
7526
|
:param float weight: 指定的资产比例 [0, 1]
|
|
7340
7527
|
"""
|
|
7528
|
+
def AF_FixedWeightList(weights: list[float]) -> AllocateFundsBase:
|
|
7529
|
+
"""
|
|
7530
|
+
AF_FixedWeightList(weights)
|
|
7531
|
+
|
|
7532
|
+
固定比例资产分配列表
|
|
7533
|
+
|
|
7534
|
+
:param float weights: 指定的资产比例列表
|
|
7535
|
+
"""
|
|
7341
7536
|
def AF_MultiFactor() -> AllocateFundsBase:
|
|
7342
7537
|
"""
|
|
7343
7538
|
AF_MultiFactor()
|
|
@@ -7718,11 +7913,9 @@ def COST(k: KData, x: float = 10.0) -> Indicator:
|
|
|
7718
7913
|
"""
|
|
7719
7914
|
COST(k[, x=10.0])
|
|
7720
7915
|
|
|
7721
|
-
|
|
7722
|
-
|
|
7916
|
+
成本分布。该函数仅对日线分析周期有效,对不能存在流通盘权息数据的指数、ETF等无效。
|
|
7723
7917
|
用法:COST(k, X) 表示X%获利盘的价格是多少
|
|
7724
|
-
|
|
7725
|
-
例如:COST(k, 10),表示10%获利盘的价格是多少,即有10%的持仓量在该价格以下,其余90%在该价格以上,为套牢盘 该函数仅对日线分析周期有效
|
|
7918
|
+
例如:COST(k, 10),表示10%获利盘的价格是多少,即有10%的持仓量在该价格以下,其余90%在该价格以上,为套牢盘
|
|
7726
7919
|
|
|
7727
7920
|
:param KData k: 关联的K线数据
|
|
7728
7921
|
:param float x: x%获利价格, 0~100
|
|
@@ -7791,6 +7984,22 @@ def CVAL(data: Indicator, value: float = 0.0, discard: int = 0) -> Indicator:
|
|
|
7791
7984
|
:rtype: Indicator
|
|
7792
7985
|
"""
|
|
7793
7986
|
@typing.overload
|
|
7987
|
+
def CYCLE(adjust_cycle: int = 1, adjust_mode: str = 'query', delay_to_trading_day: bool = True) -> Indicator:
|
|
7988
|
+
...
|
|
7989
|
+
@typing.overload
|
|
7990
|
+
def CYCLE(kdata: KData, adjust_cycle: int = 1, adjust_mode: str = 'query', delay_to_trading_day: bool = True) -> Indicator:
|
|
7991
|
+
"""
|
|
7992
|
+
CYCLE(kdata, [adjust_cycle=1], [adjust_mode='query'], [delay_to_trading_day=True])
|
|
7993
|
+
|
|
7994
|
+
PF调仓周期指标,主要用于PF调仓日验证,及作为SG
|
|
7995
|
+
|
|
7996
|
+
:param KData kdata: K线数据
|
|
7997
|
+
:param int adjust_cycle: 调整周期
|
|
7998
|
+
:param string adjust_mode: 调整方式
|
|
7999
|
+
:param bool delay_to_trading_day: 调整周期是否延至交易日
|
|
8000
|
+
:rtype: Indicator
|
|
8001
|
+
"""
|
|
8002
|
+
@typing.overload
|
|
7794
8003
|
def C_AMO(arg0: KData) -> Indicator:
|
|
7795
8004
|
...
|
|
7796
8005
|
@typing.overload
|
|
@@ -7956,7 +8165,21 @@ def DIFF(arg0: Indicator) -> Indicator:
|
|
|
7956
8165
|
:param Indicator data: 输入数据
|
|
7957
8166
|
:rtype: Indicator
|
|
7958
8167
|
"""
|
|
7959
|
-
|
|
8168
|
+
@typing.overload
|
|
8169
|
+
def DISCARD(discard: int) -> Indicator:
|
|
8170
|
+
...
|
|
8171
|
+
@typing.overload
|
|
8172
|
+
def DISCARD(ind: Indicator, discard: int) -> Indicator:
|
|
8173
|
+
"""
|
|
8174
|
+
DISCARD(data, discard)
|
|
8175
|
+
|
|
8176
|
+
以指标公式的方式设置指标结果的丢弃数据量。
|
|
8177
|
+
|
|
8178
|
+
:param Indicator data: 指标
|
|
8179
|
+
:param int discard: 丢弃数据量
|
|
8180
|
+
:rtype: Indicator
|
|
8181
|
+
"""
|
|
8182
|
+
def DMA(x: Indicator, a: Indicator, fill_null: bool = True) -> Indicator:
|
|
7960
8183
|
"""
|
|
7961
8184
|
DMA(ind, a[, fill_null=True])
|
|
7962
8185
|
|
|
@@ -8260,7 +8483,7 @@ def HSL(arg0: KData) -> Indicator:
|
|
|
8260
8483
|
"""
|
|
8261
8484
|
HSL(kdata)
|
|
8262
8485
|
|
|
8263
|
-
|
|
8486
|
+
获取换手率, 乘以 100 才是百分比,等于 VOL(k) / CAPITAL(k) * 0.01
|
|
8264
8487
|
|
|
8265
8488
|
:param KData kdata: k线数据
|
|
8266
8489
|
:rtype: Indicator
|
|
@@ -8327,14 +8550,29 @@ def IF(arg0: Indicator, arg1: float, arg2: float) -> Indicator:
|
|
|
8327
8550
|
:rtype: Indicator
|
|
8328
8551
|
"""
|
|
8329
8552
|
@typing.overload
|
|
8330
|
-
def
|
|
8553
|
+
def INBLOCK(category: str, name: str) -> Indicator:
|
|
8331
8554
|
...
|
|
8332
8555
|
@typing.overload
|
|
8333
|
-
def
|
|
8556
|
+
def INBLOCK(data: KData, category: str, name: str) -> Indicator:
|
|
8334
8557
|
"""
|
|
8335
|
-
|
|
8558
|
+
INBLOCK(data, category, name)
|
|
8559
|
+
|
|
8560
|
+
当前上下文证券是否在指定的板块中。
|
|
8561
|
+
|
|
8562
|
+
:param KData data: 指定的K线数据(上下文)
|
|
8563
|
+
:param string category: 板块类别
|
|
8564
|
+
:param string name: 板块名称
|
|
8565
|
+
:rtype: Indicator
|
|
8566
|
+
"""
|
|
8567
|
+
@typing.overload
|
|
8568
|
+
def INDEXA(fill_null: bool = True) -> Indicator:
|
|
8569
|
+
...
|
|
8570
|
+
@typing.overload
|
|
8571
|
+
def INDEXA(kdata: KData, fill_null: bool = True) -> Indicator:
|
|
8572
|
+
"""
|
|
8573
|
+
INDEXA([kdata])
|
|
8336
8574
|
|
|
8337
|
-
|
|
8575
|
+
返回对应的大盘成交金额,分别是上证指数,深证成指,科创50,创业板指
|
|
8338
8576
|
"""
|
|
8339
8577
|
@typing.overload
|
|
8340
8578
|
def INDEXADV() -> Indicator:
|
|
@@ -8347,14 +8585,14 @@ def INDEXADV(arg0: Query) -> Indicator:
|
|
|
8347
8585
|
通达信 880005 大盘上涨家数, 可能无法盘中更新!
|
|
8348
8586
|
"""
|
|
8349
8587
|
@typing.overload
|
|
8350
|
-
def INDEXC() -> Indicator:
|
|
8588
|
+
def INDEXC(fill_null: bool = True) -> Indicator:
|
|
8351
8589
|
...
|
|
8352
8590
|
@typing.overload
|
|
8353
|
-
def INDEXC(
|
|
8591
|
+
def INDEXC(kdata: KData, fill_null: bool = True) -> Indicator:
|
|
8354
8592
|
"""
|
|
8355
|
-
INDEXC([
|
|
8593
|
+
INDEXC([kdata])
|
|
8356
8594
|
|
|
8357
|
-
|
|
8595
|
+
返回对应的大盘收盘价,分别是上证指数,深证成指,科创50,创业板指
|
|
8358
8596
|
"""
|
|
8359
8597
|
@typing.overload
|
|
8360
8598
|
def INDEXDEC() -> Indicator:
|
|
@@ -8367,44 +8605,44 @@ def INDEXDEC(arg0: Query) -> Indicator:
|
|
|
8367
8605
|
通达信 880005 大盘下跌家数, 可能无法盘中更新!
|
|
8368
8606
|
"""
|
|
8369
8607
|
@typing.overload
|
|
8370
|
-
def INDEXH() -> Indicator:
|
|
8608
|
+
def INDEXH(fill_null: bool = True) -> Indicator:
|
|
8371
8609
|
...
|
|
8372
8610
|
@typing.overload
|
|
8373
|
-
def INDEXH(
|
|
8611
|
+
def INDEXH(kdata: KData, fill_null: bool = True) -> Indicator:
|
|
8374
8612
|
"""
|
|
8375
|
-
INDEXH([
|
|
8613
|
+
INDEXH([kdata])
|
|
8376
8614
|
|
|
8377
|
-
|
|
8615
|
+
返回对应的大盘最高价,分别是上证指数,深证成指,科创50,创业板指
|
|
8378
8616
|
"""
|
|
8379
8617
|
@typing.overload
|
|
8380
|
-
def INDEXL() -> Indicator:
|
|
8618
|
+
def INDEXL(fill_null: bool = True) -> Indicator:
|
|
8381
8619
|
...
|
|
8382
8620
|
@typing.overload
|
|
8383
|
-
def INDEXL(
|
|
8621
|
+
def INDEXL(kdata: KData, fill_null: bool = True) -> Indicator:
|
|
8384
8622
|
"""
|
|
8385
|
-
INDEXL([
|
|
8623
|
+
INDEXL([kdata])
|
|
8386
8624
|
|
|
8387
|
-
|
|
8625
|
+
返回对应的大盘最低价,分别是上证指数,深证成指,科创50,创业板指
|
|
8388
8626
|
"""
|
|
8389
8627
|
@typing.overload
|
|
8390
|
-
def INDEXO() -> Indicator:
|
|
8628
|
+
def INDEXO(fill_null: bool = True) -> Indicator:
|
|
8391
8629
|
...
|
|
8392
8630
|
@typing.overload
|
|
8393
|
-
def INDEXO(
|
|
8631
|
+
def INDEXO(kdata: KData, fill_null: bool = True) -> Indicator:
|
|
8394
8632
|
"""
|
|
8395
|
-
INDEXO([
|
|
8633
|
+
INDEXO([kdata])
|
|
8396
8634
|
|
|
8397
|
-
|
|
8635
|
+
返回对应的大盘开盘价,分别是上证指数,深证成指,科创50,创业板指
|
|
8398
8636
|
"""
|
|
8399
8637
|
@typing.overload
|
|
8400
|
-
def INDEXV() -> Indicator:
|
|
8638
|
+
def INDEXV(fill_null: bool = True) -> Indicator:
|
|
8401
8639
|
...
|
|
8402
8640
|
@typing.overload
|
|
8403
|
-
def INDEXV(
|
|
8641
|
+
def INDEXV(kdata: KData, fill_null: bool = True) -> Indicator:
|
|
8404
8642
|
"""
|
|
8405
|
-
INDEXV([
|
|
8643
|
+
INDEXV([kdata])
|
|
8406
8644
|
|
|
8407
|
-
|
|
8645
|
+
返回对应的大盘成交量,分别是上证指数,深证成指,科创50,创业板指
|
|
8408
8646
|
"""
|
|
8409
8647
|
@typing.overload
|
|
8410
8648
|
def INSUM(block: Block, ind: Indicator, mode: int, fill_null: bool = True) -> Indicator:
|
|
@@ -8531,6 +8769,32 @@ def ISNA(ind: Indicator, ignore_discard: bool = False) -> Indicator:
|
|
|
8531
8769
|
:param bool ignore_discard: 忽略指标丢弃数据
|
|
8532
8770
|
"""
|
|
8533
8771
|
@typing.overload
|
|
8772
|
+
def JUMPDOWN() -> Indicator:
|
|
8773
|
+
...
|
|
8774
|
+
@typing.overload
|
|
8775
|
+
def JUMPDOWN(arg0: Indicator) -> Indicator:
|
|
8776
|
+
"""
|
|
8777
|
+
JUMPDOWN([ind])
|
|
8778
|
+
|
|
8779
|
+
边缘跳变,从大于0.0,跳变到 <= 0.0
|
|
8780
|
+
|
|
8781
|
+
:param Indicator ind: 指标
|
|
8782
|
+
:rtype: Indicator
|
|
8783
|
+
"""
|
|
8784
|
+
@typing.overload
|
|
8785
|
+
def JUMPUP() -> Indicator:
|
|
8786
|
+
...
|
|
8787
|
+
@typing.overload
|
|
8788
|
+
def JUMPUP(arg0: Indicator) -> Indicator:
|
|
8789
|
+
"""
|
|
8790
|
+
JUMPUP([ind])
|
|
8791
|
+
|
|
8792
|
+
边缘跳变,从小于等于0.0,跳变到 > 0.0
|
|
8793
|
+
|
|
8794
|
+
:param Indicator ind: 指标
|
|
8795
|
+
:rtype: Indicator
|
|
8796
|
+
"""
|
|
8797
|
+
@typing.overload
|
|
8534
8798
|
def KDATA_PART(data: KData, kpart: str) -> Indicator:
|
|
8535
8799
|
...
|
|
8536
8800
|
@typing.overload
|
|
@@ -8591,6 +8855,20 @@ def LAST(data: Indicator, m: Indicator, n: Indicator) -> Indicator:
|
|
|
8591
8855
|
:rtype: Indicator
|
|
8592
8856
|
"""
|
|
8593
8857
|
@typing.overload
|
|
8858
|
+
def LASTVALUE(ignore_discard: bool = False) -> Indicator:
|
|
8859
|
+
...
|
|
8860
|
+
@typing.overload
|
|
8861
|
+
def LASTVALUE(ind: Indicator, ignore_discard: bool = False) -> Indicator:
|
|
8862
|
+
"""
|
|
8863
|
+
LASTVALUE(ind, [ignore_discard=False])
|
|
8864
|
+
|
|
8865
|
+
等同于通达信CONST指标。取输入指标最后值为常数, 即结果中所有值均为输入指标的最后值, 谨慎使用。含未来函数, 谨慎使用。
|
|
8866
|
+
|
|
8867
|
+
:param Indicator ind: 指标
|
|
8868
|
+
:param bool ignore_discard: 忽略指标丢弃数据
|
|
8869
|
+
:rtype: Indicator
|
|
8870
|
+
"""
|
|
8871
|
+
@typing.overload
|
|
8594
8872
|
def LIUTONGPAN() -> Indicator:
|
|
8595
8873
|
...
|
|
8596
8874
|
@typing.overload
|
|
@@ -8910,8 +9188,17 @@ def MM_FixedCapital(capital: float = 10000.0) -> MoneyManagerBase:
|
|
|
8910
9188
|
"""
|
|
8911
9189
|
MM_FixedCapital([capital = 10000.0])
|
|
8912
9190
|
|
|
8913
|
-
|
|
9191
|
+
固定资金管理策略。买入数量 = 当前现金 / capital
|
|
9192
|
+
|
|
9193
|
+
:param float capital: 固定资本单位
|
|
9194
|
+
:return: 资金管理策略实例
|
|
9195
|
+
"""
|
|
9196
|
+
def MM_FixedCapitalFunds(capital: float = 10000.0) -> MoneyManagerBase:
|
|
9197
|
+
"""
|
|
9198
|
+
MM_FixedCapitalFunds([capital = 10000.0])
|
|
8914
9199
|
|
|
9200
|
+
固定资本管理策略。买入数量 = 当前总资产 / capital
|
|
9201
|
+
|
|
8915
9202
|
:param float capital: 固定资本单位
|
|
8916
9203
|
:return: 资金管理策略实例
|
|
8917
9204
|
"""
|
|
@@ -8924,6 +9211,16 @@ def MM_FixedCount(n: float = 100) -> MoneyManagerBase:
|
|
|
8924
9211
|
:param float n: 每次买入的数量(应该是交易对象最小交易数量的整数,此处程序没有此进行判断)
|
|
8925
9212
|
:return: 资金管理策略实例
|
|
8926
9213
|
"""
|
|
9214
|
+
def MM_FixedCountTps(buy_counts: list[float], sell_counts: list[float]) -> MoneyManagerBase:
|
|
9215
|
+
"""
|
|
9216
|
+
MM_FixedCountTps([buy_counts, sell_counts])
|
|
9217
|
+
|
|
9218
|
+
连续买入/卖出固定数量资金管理策略。
|
|
9219
|
+
|
|
9220
|
+
:param list buy_counts: 买入数量列表
|
|
9221
|
+
:param list sell_counts: 卖出数量列表
|
|
9222
|
+
:return: 资金管理策略实例
|
|
9223
|
+
"""
|
|
8927
9224
|
def MM_FixedPercent(p: float = 0.03) -> MoneyManagerBase:
|
|
8928
9225
|
"""
|
|
8929
9226
|
MM_FixedPercent([p = 0.03])
|
|
@@ -8946,7 +9243,7 @@ def MM_FixedUnits(n: int = 33) -> MoneyManagerBase:
|
|
|
8946
9243
|
"""
|
|
8947
9244
|
MM_FixedUnits([n = 33])
|
|
8948
9245
|
|
|
8949
|
-
|
|
9246
|
+
固定单位资金管理策略。公式: 买入数量 = 当前现金 / n / 当前风险risk
|
|
8950
9247
|
|
|
8951
9248
|
:param int n: n个资金单位
|
|
8952
9249
|
:return: 资金管理策略实例
|
|
@@ -8961,7 +9258,11 @@ def MM_WilliamsFixedRisk(p: float = 0.1, max_loss: float = 1000.0) -> MoneyManag
|
|
|
8961
9258
|
"""
|
|
8962
9259
|
MM_WilliamsFixedRisk([p=0.1, max_loss=1000.0])
|
|
8963
9260
|
|
|
8964
|
-
|
|
9261
|
+
威廉斯固定风险资金管理策略。买入数量 =(账户余额 × 风险百分比p)÷ 最大损失(max_loss)
|
|
9262
|
+
|
|
9263
|
+
:param float p: 风险百分比
|
|
9264
|
+
:param float max_loss: 最大损失
|
|
9265
|
+
:return: 资金管理策略实例
|
|
8965
9266
|
"""
|
|
8966
9267
|
@typing.overload
|
|
8967
9268
|
def MOD(arg0: Indicator, arg1: Indicator) -> Indicator:
|
|
@@ -9068,15 +9369,53 @@ def NOT(arg0: Indicator) -> Indicator:
|
|
|
9068
9369
|
:param Indicator data: 输入数据
|
|
9069
9370
|
:rtype: Indicator
|
|
9070
9371
|
"""
|
|
9071
|
-
def PF_Simple(tm: TradeManager = None, se: SelectorBase = ..., af: AllocateFundsBase =
|
|
9372
|
+
def PF_Simple(tm: TradeManager = None, se: SelectorBase = ..., af: AllocateFundsBase = ..., adjust_cycle: int = 1, adjust_mode: str = 'query', delay_to_trading_day: bool = True) -> Portfolio:
|
|
9072
9373
|
"""
|
|
9073
|
-
PF_Simple([tm, se, af])
|
|
9374
|
+
PF_Simple([tm, se, af, adjust_cycle=1, adjust_mode="query", delay_to_trading_day=True])
|
|
9074
9375
|
|
|
9075
9376
|
创建一个多标的、单系统策略的投资组合
|
|
9076
9377
|
|
|
9378
|
+
调仓模式 adjust_mode 说明:
|
|
9379
|
+
- "query" 模式,跟随输入参数 query 中的 ktype,此时 adjust_cycle 为以 query 中的 ktype
|
|
9380
|
+
决定周期间隔;
|
|
9381
|
+
- "day" 模式,adjust_cycle 为调仓间隔天数
|
|
9382
|
+
- "week" | "month" | "quarter" | "year" 模式时,adjust_cycle
|
|
9383
|
+
为对应的每周第N日、每月第n日、每季度第n日、每年第n日,在 delay_to_trading_day 为 false 时
|
|
9384
|
+
如果当日不是交易日将会被跳过调仓;当 delay_to_trading_day 为 true时,如果当日不是交易日
|
|
9385
|
+
将会顺延至当前周期内的第一个交易日,如指定每月第1日调仓,但当月1日不是交易日,则将顺延至当月
|
|
9386
|
+
的第一个交易日。
|
|
9387
|
+
|
|
9077
9388
|
:param TradeManager tm: 交易管理
|
|
9078
9389
|
:param SelectorBase se: 交易对象选择算法
|
|
9079
9390
|
:param AllocateFundsBase af: 资金分配算法
|
|
9391
|
+
:param int adjust_cycle: 调仓周期
|
|
9392
|
+
:param str adjust_mode: 调仓模式
|
|
9393
|
+
:param bool delay_to_trading_day: 如果当日不是交易日将会被顺延至当前周期内的第一个交易日
|
|
9394
|
+
"""
|
|
9395
|
+
def PF_WithoutAF(tm: TradeManager = None, se: SelectorBase = ..., adjust_cycle: int = 1, adjust_mode: str = 'query', delay_to_trading_day: bool = True, trade_on_close: bool = True, sys_use_self_tm: bool = False, sell_at_not_selected: bool = False) -> Portfolio:
|
|
9396
|
+
"""
|
|
9397
|
+
PF_WithoutAF([tm, se, adjust_cycle=1, adjust_mode="query", delay_to_trading_day=True, trade_on_close=True, sys_use_self_tm=False,sell_at_not_selected=False])
|
|
9398
|
+
|
|
9399
|
+
创建无资金分配算法的投资组合,所有单系统策略使用共同的 tm 管理账户
|
|
9400
|
+
|
|
9401
|
+
调仓模式 adjust_mode 说明:
|
|
9402
|
+
- "query" 模式,跟随输入参数 query 中的 ktype,此时 adjust_cycle 为以 query 中的 ktype
|
|
9403
|
+
决定周期间隔;
|
|
9404
|
+
- "day" 模式,adjust_cycle 为调仓间隔天数
|
|
9405
|
+
- "week" | "month" | "quarter" | "year" 模式时,adjust_cycle
|
|
9406
|
+
为对应的每周第N日、每月第n日、每季度第n日、每年第n日,在 delay_to_trading_day 为 false 时
|
|
9407
|
+
如果当日不是交易日将会被跳过调仓;当 delay_to_trading_day 为 true时,如果当日不是交易日
|
|
9408
|
+
将会顺延至当前周期内的第一个交易日,如指定每月第1日调仓,但当月1日不是交易日,则将顺延至当月
|
|
9409
|
+
的第一个交易日。
|
|
9410
|
+
|
|
9411
|
+
:param TradeManager tm: 交易管理
|
|
9412
|
+
:param SelectorBase se: 交易对象选择算法
|
|
9413
|
+
:param int adjust_cycle: 调仓周期
|
|
9414
|
+
:param str adjust_mode: 调仓模式
|
|
9415
|
+
:param bool delay_to_trading_day: 如果当日不是交易日将会被顺延至当前周期内的第一个交易日
|
|
9416
|
+
:param bool trade_on_close: 交易是否在收盘时进行
|
|
9417
|
+
:param bool sys_use_self_tm: 原型系统使用自身附带的tm进行计算
|
|
9418
|
+
:param bool sell_at_not_selected: 调仓日未选中的股票是否强制卖出
|
|
9080
9419
|
"""
|
|
9081
9420
|
def PG_FixedHoldDays(days: int = 5) -> ProfitGoalBase:
|
|
9082
9421
|
"""
|
|
@@ -9566,7 +9905,7 @@ def SG_Band(ind: Indicator, lower: float, upper: float) -> SignalBase:
|
|
|
9566
9905
|
SG_Band(MA(C, n=10), 100, 200)
|
|
9567
9906
|
SG_Band(CLOSE, MA(LOW), MA(HIGH))
|
|
9568
9907
|
"""
|
|
9569
|
-
def SG_Bool(buy: Indicator, sell: Indicator) -> SignalBase:
|
|
9908
|
+
def SG_Bool(buy: Indicator, sell: Indicator, alternate: bool = True) -> SignalBase:
|
|
9570
9909
|
"""
|
|
9571
9910
|
SG_Bool(buy, sell)
|
|
9572
9911
|
|
|
@@ -9574,6 +9913,7 @@ def SG_Bool(buy: Indicator, sell: Indicator) -> SignalBase:
|
|
|
9574
9913
|
|
|
9575
9914
|
:param Indicator buy: 买入指示(结果Indicator中相应位置>0则代表买入)
|
|
9576
9915
|
:param Indicator sell: 卖出指示(结果Indicator中相应位置>0则代表卖出)
|
|
9916
|
+
:param bool alternate: 是否交替买入卖出,默认为True
|
|
9577
9917
|
:return: 信号指示器
|
|
9578
9918
|
"""
|
|
9579
9919
|
def SG_Cross(fast: Indicator, slow: Indicator) -> SignalBase:
|
|
@@ -9617,6 +9957,16 @@ def SG_Flex(op: Indicator, slow_n: int) -> SignalBase:
|
|
|
9617
9957
|
:param int slow_n: 慢线EMA周期
|
|
9618
9958
|
:return: 信号指示器
|
|
9619
9959
|
"""
|
|
9960
|
+
def SG_OneSide(ind: Indicator, is_buy: bool) -> SignalBase:
|
|
9961
|
+
"""
|
|
9962
|
+
SG_OneSide(ind, is_buy)
|
|
9963
|
+
|
|
9964
|
+
根据输入指标构建单边信号(单纯的只包含买入或卖出信号),如果指标值大于0,则加入信号
|
|
9965
|
+
|
|
9966
|
+
:param Indicator ind: 输入指标
|
|
9967
|
+
:param bool is_buy: 构建的是买入信号,否则为卖出信号
|
|
9968
|
+
:return: 信号指示器
|
|
9969
|
+
"""
|
|
9620
9970
|
def SG_Single(ind: Indicator, filter_n: int = 10, filter_p: float = 0.1) -> SignalBase:
|
|
9621
9971
|
"""
|
|
9622
9972
|
SG_Single(ind[, filter_n = 10, filter_p = 0.1])
|
|
@@ -9859,16 +10209,15 @@ def ST_FixedPercent(p: float = 0.03) -> StoplossBase:
|
|
|
9859
10209
|
:param float p: 百分比(0,1]
|
|
9860
10210
|
:return: 止损/止赢策略实例
|
|
9861
10211
|
"""
|
|
9862
|
-
def ST_Indicator(
|
|
10212
|
+
def ST_Indicator(ind: Indicator) -> StoplossBase:
|
|
9863
10213
|
"""
|
|
9864
|
-
ST_Indicator(
|
|
10214
|
+
ST_Indicator(ind)
|
|
9865
10215
|
|
|
9866
10216
|
使用技术指标作为止损价。如使用10日EMA作为止损:::
|
|
9867
10217
|
|
|
9868
|
-
ST_Indicator(
|
|
10218
|
+
ST_Indicator(EMA(CLOSE(), n=10))
|
|
9869
10219
|
|
|
9870
|
-
:param Indicator
|
|
9871
|
-
:param string kpart: KDATA|OPEN|HIGH|LOW|CLOSE|AMO|VOL
|
|
10220
|
+
:param Indicator ind:
|
|
9872
10221
|
:return: 止损/止赢策略实例
|
|
9873
10222
|
"""
|
|
9874
10223
|
def ST_Saftyloss(n1: int = 10, n2: int = 3, p: float = 2.0) -> StoplossBase:
|
|
@@ -12128,6 +12477,22 @@ def WEEK(arg0: KData) -> Indicator:
|
|
|
12128
12477
|
:rtype: Indicator
|
|
12129
12478
|
"""
|
|
12130
12479
|
@typing.overload
|
|
12480
|
+
def WINNER() -> Indicator:
|
|
12481
|
+
...
|
|
12482
|
+
@typing.overload
|
|
12483
|
+
def WINNER(arg0: Indicator) -> Indicator:
|
|
12484
|
+
...
|
|
12485
|
+
@typing.overload
|
|
12486
|
+
def WINNER(arg0: float) -> Indicator:
|
|
12487
|
+
"""
|
|
12488
|
+
WINNER([ind])
|
|
12489
|
+
|
|
12490
|
+
获利盘比例
|
|
12491
|
+
用法: WINNER(CLOSE) 表示以当前收市价卖出的获利盘比例。
|
|
12492
|
+
例如: 返回0.1表示10%获利盘;WINNER(10.5)表示10.5元价格的获利盘比例
|
|
12493
|
+
该函数仅对日线分析周期有效,且仅对存在流通盘权息数据的证券有效,对指数、基金等无效。
|
|
12494
|
+
"""
|
|
12495
|
+
@typing.overload
|
|
12131
12496
|
def WMA(n: int = 22) -> Indicator:
|
|
12132
12497
|
...
|
|
12133
12498
|
@typing.overload
|
|
@@ -12265,7 +12630,7 @@ def crtTM(date: Datetime = ..., init_cash: float = 100000, cost_func: TradeCostB
|
|
|
12265
12630
|
:param string name: 账户名称
|
|
12266
12631
|
:rtype: TradeManager
|
|
12267
12632
|
"""
|
|
12268
|
-
def crt_pf_strategy(pf: Portfolio, query: Query,
|
|
12633
|
+
def crt_pf_strategy(pf: Portfolio, query: Query, broker: OrderBrokerBase, cost_func: TradeCostBase, name: str = 'PFStrategy', other_brokers: list[OrderBrokerBase] = [], config: str = '') -> Strategy:
|
|
12269
12634
|
...
|
|
12270
12635
|
def crt_sys_strategy(sys: System, stk_market_code: str, query: Query, broker: OrderBrokerBase, cost_func: TradeCostBase, other_brokers: str = [], name: list[OrderBrokerBase] = 'SYSStrategy', config: str = '') -> Strategy:
|
|
12271
12636
|
...
|
|
@@ -12463,7 +12828,7 @@ def run_in_strategy(sys: System, stock: Stock, query: Query, broker: OrderBroker
|
|
|
12463
12828
|
:param other_brokers: 其他的订单代理
|
|
12464
12829
|
"""
|
|
12465
12830
|
@typing.overload
|
|
12466
|
-
def run_in_strategy(pf: Portfolio, query: Query,
|
|
12831
|
+
def run_in_strategy(pf: Portfolio, query: Query, broker: OrderBrokerBase, cost_func: TradeCostBase, other_brokers: list[OrderBrokerBase] = []) -> None:
|
|
12467
12832
|
"""
|
|
12468
12833
|
run_in_strategy(pf, query, adjust_cycle, broker, costfunc, [other_brokers=[]])
|
|
12469
12834
|
|
|
@@ -12472,7 +12837,6 @@ def run_in_strategy(pf: Portfolio, query: Query, adjust_cycle: int, broker: Orde
|
|
|
12472
12837
|
|
|
12473
12838
|
:param Portfolio pf: 资产组合
|
|
12474
12839
|
:param Query query: 查询条件
|
|
12475
|
-
:param int adjust_cycle: 调仓周期
|
|
12476
12840
|
:param broker: 订单代理(专用与和账户资产同步的订单代理)
|
|
12477
12841
|
:param costfunc: 成本函数
|
|
12478
12842
|
:param other_brokers: 其他的订单代理
|