hikyuu 2.6.7__py3-none-win_amd64.whl → 2.6.8.2__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 +6 -2
- hikyuu/__init__.pyi +37 -10
- hikyuu/analysis/__init__.pyi +24 -0
- hikyuu/analysis/analysis.pyi +25 -1
- hikyuu/core.pyi +26 -2
- hikyuu/cpp/concrt140.dll +0 -0
- hikyuu/cpp/core310.pyd +0 -0
- hikyuu/cpp/core310.pyi +419 -31
- hikyuu/cpp/core311.pyd +0 -0
- hikyuu/cpp/core311.pyi +419 -31
- hikyuu/cpp/core312.pyd +0 -0
- hikyuu/cpp/core312.pyi +419 -31
- hikyuu/cpp/core313.pyd +0 -0
- hikyuu/cpp/core313.pyi +419 -31
- hikyuu/cpp/core39.pyd +0 -0
- hikyuu/cpp/core39.pyi +419 -31
- hikyuu/cpp/hikyuu.dll +0 -0
- hikyuu/cpp/hikyuu.lib +0 -0
- hikyuu/cpp/hku_hdf5.dll +0 -0
- hikyuu/cpp/hku_hdf5_cpp.dll +0 -0
- hikyuu/cpp/hku_hdf5_hl.dll +0 -0
- hikyuu/cpp/hku_hdf5_hl_cpp.dll +0 -0
- hikyuu/cpp/i18n/zh_CN/hikyuu.mo +0 -0
- hikyuu/cpp/msvcp140.dll +0 -0
- hikyuu/cpp/msvcp140_1.dll +0 -0
- hikyuu/cpp/msvcp140_2.dll +0 -0
- hikyuu/cpp/msvcp140_atomic_wait.dll +0 -0
- hikyuu/cpp/msvcp140_codecvt_ids.dll +0 -0
- hikyuu/cpp/sqlite3.dll +0 -0
- hikyuu/cpp/vcruntime140.dll +0 -0
- hikyuu/cpp/vcruntime140_1.dll +0 -0
- hikyuu/draw/__init__.pyi +1 -1
- hikyuu/draw/drawplot/bokeh_draw.pyi +33 -8
- hikyuu/draw/drawplot/echarts_draw.pyi +33 -8
- hikyuu/draw/drawplot/matplotlib_draw.pyi +33 -8
- hikyuu/extend.py +19 -0
- hikyuu/extend.pyi +27 -3
- hikyuu/hub.pyi +6 -6
- hikyuu/include/hikyuu/DataType.h +2 -2
- hikyuu/include/hikyuu/KData.h +91 -25
- hikyuu/include/hikyuu/KDataImp.h +31 -46
- hikyuu/include/hikyuu/KDataPrivatedBufferImp.h +73 -0
- hikyuu/include/hikyuu/KDataSharedBufferImp.h +69 -0
- hikyuu/include/hikyuu/KQuery.h +16 -4
- hikyuu/include/hikyuu/KRecord.h +4 -1
- hikyuu/include/hikyuu/Stock.h +10 -4
- hikyuu/include/hikyuu/StockManager.h +11 -3
- hikyuu/include/hikyuu/TransRecord.h +2 -2
- hikyuu/include/hikyuu/data_driver/KDataDriver.h +5 -0
- hikyuu/include/hikyuu/doc.h +2 -2
- hikyuu/include/hikyuu/global/GlobalSpotAgent.h +8 -0
- hikyuu/include/hikyuu/global/agent/SpotAgent.h +12 -7
- hikyuu/include/hikyuu/indicator/Indicator.h +11 -0
- hikyuu/include/hikyuu/indicator/Indicator2InImp.h +9 -0
- hikyuu/include/hikyuu/indicator/IndicatorImp.h +83 -15
- hikyuu/include/hikyuu/indicator/build_in.h +1 -0
- hikyuu/include/hikyuu/indicator/crt/AMA.h +2 -1
- hikyuu/include/hikyuu/indicator/crt/ATR.h +1 -1
- hikyuu/include/hikyuu/indicator/crt/CONTEXT.h +2 -0
- hikyuu/include/hikyuu/indicator/crt/CYCLE.h +3 -0
- hikyuu/include/hikyuu/indicator/crt/DMA.h +1 -1
- hikyuu/include/hikyuu/indicator/crt/IC.h +14 -6
- hikyuu/include/hikyuu/indicator/crt/ICIR.h +8 -4
- hikyuu/include/hikyuu/indicator/crt/INSUM.h +2 -0
- hikyuu/include/hikyuu/indicator/crt/PRICELIST.h +2 -0
- hikyuu/include/hikyuu/indicator/crt/REFX.h +25 -0
- hikyuu/include/hikyuu/indicator/crt/SLICE.h +4 -4
- hikyuu/include/hikyuu/indicator/crt/SPEARMAN.h +3 -2
- hikyuu/include/hikyuu/indicator/imp/IContext.h +5 -0
- hikyuu/include/hikyuu/indicator/imp/ICval.h +6 -0
- hikyuu/include/hikyuu/indicator/imp/IDropna.h +9 -0
- hikyuu/include/hikyuu/indicator/imp/IIc.h +2 -1
- hikyuu/include/hikyuu/indicator/imp/IPriceList.h +1 -0
- hikyuu/include/hikyuu/indicator/imp/IRefX.h +23 -0
- hikyuu/include/hikyuu/plugin/backtest.h +2 -0
- hikyuu/include/hikyuu/plugin/extind.h +45 -0
- hikyuu/include/hikyuu/plugin/hkuextra.h +21 -0
- hikyuu/include/hikyuu/plugin/interface/HkuExtraPluginInterface.h +16 -0
- hikyuu/include/hikyuu/plugin/interface/TMReportPluginInterface.h +1 -0
- hikyuu/include/hikyuu/python/pybind_utils.h +27 -11
- hikyuu/include/hikyuu/trade_manage/Performance.h +0 -1
- hikyuu/include/hikyuu/trade_manage/TradeCostBase.h +5 -0
- hikyuu/include/hikyuu/trade_manage/TradeManager.h +4 -0
- hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +10 -1
- hikyuu/include/hikyuu/trade_sys/allocatefunds/AllocateFundsBase.h +5 -0
- hikyuu/include/hikyuu/trade_sys/condition/ConditionBase.h +5 -0
- hikyuu/include/hikyuu/trade_sys/environment/EnvironmentBase.h +5 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/MoneyManagerBase.h +5 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/MultiFactorBase.h +6 -3
- hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +4 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/ProfitGoalBase.h +5 -0
- hikyuu/include/hikyuu/trade_sys/selector/SelectorBase.h +5 -2
- hikyuu/include/hikyuu/trade_sys/signal/SignalBase.h +5 -0
- hikyuu/include/hikyuu/trade_sys/slippage/SlippageBase.h +5 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/StoplossBase.h +6 -1
- hikyuu/include/hikyuu/trade_sys/system/System.h +5 -0
- hikyuu/include/hikyuu/utilities/datetime/Datetime.h +2 -2
- hikyuu/include/hikyuu/utilities/os.h +4 -0
- hikyuu/include/hikyuu/utilities/thread/GlobalMQStealThreadPool.h +1 -1
- hikyuu/include/hikyuu/utilities/thread/GlobalMQThreadPool.h +1 -1
- hikyuu/include/hikyuu/utilities/thread/GlobalThreadPool.h +1 -1
- hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +1 -1
- hikyuu/include/hikyuu/version.h +4 -4
- hikyuu/include/hikyuu/views/arrow_common.h +38 -0
- hikyuu/include/hikyuu/views/arrow_views.h +117 -0
- hikyuu/indicator/indicator.py +4 -5
- hikyuu/plugin/backtest.dll +0 -0
- hikyuu/plugin/clickhousedriver.dll +0 -0
- hikyuu/plugin/dataserver.dll +0 -0
- hikyuu/plugin/device.dll +0 -0
- hikyuu/plugin/extind.dll +0 -0
- hikyuu/plugin/hkuextra.dll +0 -0
- hikyuu/plugin/import2hdf5.dll +0 -0
- hikyuu/plugin/tmreport.dll +0 -0
- hikyuu/strategy/strategy_demo1.py +1 -1
- hikyuu/test/test_init.py +19 -19
- hikyuu/trade_manage/__init__.pyi +32 -7
- hikyuu/trade_manage/trade.py +6 -0
- hikyuu/trade_manage/trade.pyi +32 -7
- hikyuu/trade_sys/__init__.py +4 -0
- hikyuu/util/__init__.pyi +1 -1
- hikyuu/util/singleton.pyi +1 -1
- {hikyuu-2.6.7.dist-info → hikyuu-2.6.8.2.dist-info}/METADATA +15 -3
- {hikyuu-2.6.7.dist-info → hikyuu-2.6.8.2.dist-info}/RECORD +128 -125
- {hikyuu-2.6.7.dist-info → hikyuu-2.6.8.2.dist-info}/WHEEL +1 -1
- {hikyuu-2.6.7.dist-info → hikyuu-2.6.8.2.dist-info}/top_level.txt +1 -1
- hikyuu/include/hikyuu/view/MarketView.h +0 -59
- hikyuu/setup.py +0 -104
- hikyuu-2.6.7.dist-info/LICENSE +0 -201
- /hikyuu/include/hikyuu/{view → views}/__init__.py +0 -0
- {hikyuu-2.6.7.dist-info → hikyuu-2.6.8.2.dist-info}/entry_points.txt +0 -0
hikyuu/trade_manage/trade.pyi
CHANGED
|
@@ -78,6 +78,17 @@ from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 impor
|
|
|
78
78
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AF_FixedWeight
|
|
79
79
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AF_FixedWeightList
|
|
80
80
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AF_MultiFactor
|
|
81
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_COUNT
|
|
82
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_MAD
|
|
83
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_MAX
|
|
84
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_MEAN
|
|
85
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_MEDIAN
|
|
86
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_MIN
|
|
87
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_PROD
|
|
88
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_QUANTILE
|
|
89
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_STD
|
|
90
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_SUM
|
|
91
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AGG_VAR
|
|
81
92
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import ALIGN
|
|
82
93
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import AMA
|
|
83
94
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import ASIN
|
|
@@ -159,10 +170,10 @@ from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 impor
|
|
|
159
170
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import KALMAN
|
|
160
171
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import KDATA_PART
|
|
161
172
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import LAST
|
|
162
|
-
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE as CONST
|
|
163
173
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE
|
|
164
|
-
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import
|
|
174
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE as CONST
|
|
165
175
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN
|
|
176
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN as CAPITAL
|
|
166
177
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import LLV
|
|
167
178
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import LLVBARS
|
|
168
179
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import LN
|
|
@@ -210,6 +221,7 @@ from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 impor
|
|
|
210
221
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import RECOVER_EQUAL_FORWARD
|
|
211
222
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import RECOVER_FORWARD
|
|
212
223
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import REF
|
|
224
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import REFX
|
|
213
225
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import REPLACE
|
|
214
226
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import RESULT
|
|
215
227
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import REVERSE
|
|
@@ -481,6 +493,7 @@ from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 impor
|
|
|
481
493
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import crt_pf_strategy
|
|
482
494
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import crt_sys_strategy
|
|
483
495
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import dates_to_np
|
|
496
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import dates_to_pa
|
|
484
497
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import df_to_krecords
|
|
485
498
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import fetch_trial_license
|
|
486
499
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import find_optimal_system
|
|
@@ -489,10 +502,13 @@ from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 impor
|
|
|
489
502
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_business_name
|
|
490
503
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_data_from_buffer_server
|
|
491
504
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_date_range
|
|
505
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_inds_view
|
|
506
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_inds_view_pyarrow
|
|
492
507
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_kdata
|
|
493
508
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_last_version
|
|
494
509
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_log_level
|
|
495
510
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_market_view
|
|
511
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_market_view_pyarrow
|
|
496
512
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_spot_from_buffer_server
|
|
497
513
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_stock
|
|
498
514
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_system_part_enum
|
|
@@ -509,10 +525,12 @@ from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 impor
|
|
|
509
525
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import isnan
|
|
510
526
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import krecords_to_df
|
|
511
527
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import krecords_to_np
|
|
528
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import krecords_to_pa
|
|
512
529
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import open_ostream_to_python
|
|
513
530
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import open_spend_time
|
|
514
531
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import positions_to_df
|
|
515
532
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import positions_to_np
|
|
533
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import positions_to_pa
|
|
516
534
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import register_extra_ktype
|
|
517
535
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import release_extra_ktype
|
|
518
536
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import remove_license
|
|
@@ -525,6 +543,8 @@ from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 impor
|
|
|
525
543
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import set_log_level
|
|
526
544
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import set_python_in_interactive
|
|
527
545
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import set_python_in_jupyter
|
|
546
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import spot_agent_is_connected
|
|
547
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import spot_agent_is_running
|
|
528
548
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import start_data_server
|
|
529
549
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import start_spot_agent
|
|
530
550
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import stop_data_server
|
|
@@ -533,14 +553,18 @@ from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 impor
|
|
|
533
553
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import systemweights_to_np
|
|
534
554
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import timeline_to_df
|
|
535
555
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import timeline_to_np
|
|
556
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import timeline_to_pa
|
|
536
557
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import toPriceList
|
|
537
558
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import trades_to_df
|
|
538
559
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import trades_to_np
|
|
560
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import trades_to_pa
|
|
539
561
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import translist_to_df
|
|
540
562
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import translist_to_np
|
|
563
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import translist_to_pa
|
|
541
564
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import view_license
|
|
542
565
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import weights_to_df
|
|
543
566
|
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import weights_to_np
|
|
567
|
+
from hikyuu.cpp.core39.pybind11_detail_function_record_v1_msvc_md_mscver19 import weights_to_pa
|
|
544
568
|
from hikyuu import extend
|
|
545
569
|
from hikyuu.extend import DatetimeList_to_df
|
|
546
570
|
from hikyuu.extend import DatetimeList_to_np
|
|
@@ -555,7 +579,6 @@ from hikyuu.extend import new_Query_init
|
|
|
555
579
|
from hikyuu.indicator import indicator
|
|
556
580
|
from hikyuu.indicator.indicator import concat_to_df
|
|
557
581
|
from hikyuu.indicator.indicator import df_to_ind
|
|
558
|
-
from hikyuu.indicator.indicator import indicator_to_df
|
|
559
582
|
from hikyuu.indicator import pyind
|
|
560
583
|
from hikyuu.indicator.pyind import KDJ
|
|
561
584
|
from hikyuu import util
|
|
@@ -573,8 +596,8 @@ from hikyuu.util.mylog import class_logger
|
|
|
573
596
|
from hikyuu.util.mylog import hku_benchmark
|
|
574
597
|
from hikyuu.util.mylog import hku_debug as hku_trace
|
|
575
598
|
from hikyuu.util.mylog import hku_debug
|
|
576
|
-
from hikyuu.util.mylog import hku_debug_if as hku_trace_if
|
|
577
599
|
from hikyuu.util.mylog import hku_debug_if
|
|
600
|
+
from hikyuu.util.mylog import hku_debug_if as hku_trace_if
|
|
578
601
|
from hikyuu.util.mylog import hku_error
|
|
579
602
|
from hikyuu.util.mylog import hku_error_if
|
|
580
603
|
from hikyuu.util.mylog import hku_fatal
|
|
@@ -590,15 +613,17 @@ from hikyuu.util.notebook import in_interactive_session
|
|
|
590
613
|
from hikyuu.util.notebook import in_ipython_frontend
|
|
591
614
|
from hikyuu.util.timeout import timeout
|
|
592
615
|
import io as io
|
|
616
|
+
import locale as locale
|
|
593
617
|
import logging
|
|
594
618
|
import numpy as np
|
|
595
619
|
import os as os
|
|
596
620
|
import pandas as pd
|
|
597
621
|
from pathlib import Path
|
|
598
622
|
import pickle as pickle
|
|
623
|
+
import pyarrow as pa
|
|
599
624
|
import sys as sys
|
|
600
625
|
import traceback as traceback
|
|
601
|
-
__all__ = ['ABS', 'ACOS', 'AD', 'ADVANCE', 'AF_EqualWeight', 'AF_FixedWeight', 'AF_FixedWeightList', 'AF_MultiFactor', 'ALIGN', 'AMA', 'AMO', 'ASIN', 'ATAN', 'ATR', 'AVEDEV', 'AllocateFundsBase', 'BACKSET', 'BARSCOUNT', 'BARSLAST', 'BARSLASTCOUNT', 'BARSSINCE', 'BARSSINCEN', 'BASE_DIR', 'BETWEEN', 'BLOCKSETNUM', 'BUSINESS', 'Block', 'BlockInfoDriver', 'BorrowRecord', 'BrokerPositionRecord', 'CAPITAL', 'CEILING', 'CLOSE', 'CN_Bool', 'CN_OPLine', 'CONST', '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', 'DISCARD', 'DMA', 'DOWNNDAY', 'DROPNA', 'DataDriverFactory', 'Datetime', 'DatetimeList', 'DatetimeList_to_df', 'DatetimeList_to_np', 'Datetime_date', 'Datetime_datetime', 'Days', 'EMA', 'ERROR', 'EVERY', 'EV_Bool', 'EV_TwoLine', 'EXIST', 'EXP', 'EnvironmentBase', 'FATAL', 'FILTER', 'FINANCE', 'FLOOR', 'FundsRecord', 'HHV', 'HHVBARS', 'HIGH', 'HKUCheckError', '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', 'KDATA_PART', 'KDJ', 'KData', 'KDataDriver', 'KDataToHdf5Importer', 'KRecord', 'KRecordList', 'LAST', 'LASTVALUE', 'LIUTONGPAN', 'LLV', 'LLVBARS', 'LN', 'LOG', 'LOG_LEVEL', 'LONGCROSS', 'LOW', 'LoanRecord', 'LoggingContext', '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', 'OPEN', 'OrderBrokerBase', 'PF_Simple', 'PF_WithoutAF', 'PG_FixedHoldDays', 'PG_FixedPercent', 'PG_NoGoal', 'POS', 'POW', 'PRICELIST', 'Parameter', 'Parameter_items', 'Parameter_iter', 'Parameter_keys', 'Parameter_to_dict', 'Path', 'Performance', 'Performance_to_df', '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_EvaluateOptimal', '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', 'STD', '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', 'TimeDelta_timedelta', 'TimeLineList', 'TimeLineRecord', 'TradeCostBase', 'TradeManager', 'TradeRecord', 'TradeRecordList', 'TradeRequest', 'TransList', 'TransRecord', 'UPNDAY', 'UTCOffset', 'VALUE', 'VAR', 'VARP', 'VIGOR', 'VOL', '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', 'add_class_logger_handler', 'atexit', 'backtest', 'batch_calculate_inds', 'can_upgrade', 'capture_multiprocess_all_logger', 'class_logger', 'close_ostream_to_python', 'close_spend_time', 'combinate_ind', 'combinate_index', 'concat_to_df', 'constant', 'core', 'cpp', 'crtBrokerTM', 'crtSEOptimal', 'crtTM', 'crt_pf_strategy', 'crt_sys_strategy', 'current_path', 'date', 'dates_to_np', 'datetime', 'df_to_ind', 'df_to_krecords', 'dll_directory', 'extend', '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_market_view', 'get_spot_from_buffer_server', 'get_stock', 'get_system_part_enum', 'get_system_part_name', 'get_version', 'get_version_git', 'get_version_with_build', 'hikyuu_init', 'hku_benchmark', 'hku_catch', 'hku_check', 'hku_check_ignore', 'hku_check_throw', 'hku_debug', 'hku_debug_if', 'hku_error', 'hku_error_if', 'hku_fatal', 'hku_fatal_if', 'hku_info', 'hku_info_if', 'hku_logger', 'hku_run_ignore_exception', 'hku_to_async', 'hku_trace', 'hku_trace_if', 'hku_warn', 'hku_warn_if', 'in_interactive_session', 'in_ipython_frontend', 'indicator', '
|
|
626
|
+
__all__ = ['ABS', 'ACOS', 'AD', 'ADVANCE', 'AF_EqualWeight', 'AF_FixedWeight', 'AF_FixedWeightList', 'AF_MultiFactor', 'AGG_COUNT', 'AGG_MAD', 'AGG_MAX', 'AGG_MEAN', 'AGG_MEDIAN', 'AGG_MIN', 'AGG_PROD', 'AGG_QUANTILE', 'AGG_STD', 'AGG_SUM', 'AGG_VAR', 'ALIGN', 'AMA', 'AMO', 'ASIN', 'ATAN', 'ATR', 'AVEDEV', 'AllocateFundsBase', 'BACKSET', 'BARSCOUNT', 'BARSLAST', 'BARSLASTCOUNT', 'BARSSINCE', 'BARSSINCEN', 'BASE_DIR', 'BETWEEN', 'BLOCKSETNUM', 'BUSINESS', 'Block', 'BlockInfoDriver', 'BorrowRecord', 'BrokerPositionRecord', 'CAPITAL', 'CEILING', 'CLOSE', 'CN_Bool', 'CN_OPLine', 'CONST', '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', 'DISCARD', 'DMA', 'DOWNNDAY', 'DROPNA', 'DataDriverFactory', 'Datetime', 'DatetimeList', 'DatetimeList_to_df', 'DatetimeList_to_np', 'Datetime_date', 'Datetime_datetime', 'Days', 'EMA', 'ERROR', 'EVERY', 'EV_Bool', 'EV_TwoLine', 'EXIST', 'EXP', 'EnvironmentBase', 'FATAL', 'FILTER', 'FINANCE', 'FLOOR', 'FundsRecord', 'HHV', 'HHVBARS', 'HIGH', 'HKUCheckError', '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', 'KDATA_PART', 'KDJ', 'KData', 'KDataDriver', 'KDataToHdf5Importer', 'KRecord', 'KRecordList', 'LAST', 'LASTVALUE', 'LIUTONGPAN', 'LLV', 'LLVBARS', 'LN', 'LOG', 'LOG_LEVEL', 'LONGCROSS', 'LOW', 'LoanRecord', 'LoggingContext', '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', 'OPEN', 'OrderBrokerBase', 'PF_Simple', 'PF_WithoutAF', 'PG_FixedHoldDays', 'PG_FixedPercent', 'PG_NoGoal', 'POS', 'POW', 'PRICELIST', 'Parameter', 'Parameter_items', 'Parameter_iter', 'Parameter_keys', 'Parameter_to_dict', 'Path', 'Performance', 'Performance_to_df', 'Portfolio', 'PositionRecord', 'PositionRecordList', 'ProfitGoalBase', 'Query', 'RANK', 'RECOVER_BACKWARD', 'RECOVER_EQUAL_BACKWARD', 'RECOVER_EQUAL_FORWARD', 'RECOVER_FORWARD', 'REF', 'REFX', 'REPLACE', 'RESULT', 'REVERSE', 'ROC', 'ROCP', 'ROCR', 'ROCR100', 'ROUND', 'ROUNDDOWN', 'ROUNDUP', 'RSI', 'SAFTYLOSS', 'SE_EvaluateOptimal', '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', 'STD', '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', 'TimeDelta_timedelta', 'TimeLineList', 'TimeLineRecord', 'TradeCostBase', 'TradeManager', 'TradeRecord', 'TradeRecordList', 'TradeRequest', 'TransList', 'TransRecord', 'UPNDAY', 'UTCOffset', 'VALUE', 'VAR', 'VARP', 'VIGOR', 'VOL', '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', 'add_class_logger_handler', 'atexit', 'backtest', 'batch_calculate_inds', 'can_upgrade', 'capture_multiprocess_all_logger', 'class_logger', 'close_ostream_to_python', 'close_spend_time', 'combinate_ind', 'combinate_index', 'concat_to_df', 'constant', 'core', 'cpp', 'crtBrokerTM', 'crtSEOptimal', 'crtTM', 'crt_pf_strategy', 'crt_sys_strategy', 'current_path', 'date', 'dates_to_np', 'dates_to_pa', 'datetime', 'df_to_ind', 'df_to_krecords', 'dll_directory', 'extend', 'fetch_trial_license', 'find_optimal_system', 'find_optimal_system_multi', 'get_block', 'get_business_name', 'get_data_from_buffer_server', 'get_date_range', 'get_inds_view', 'get_inds_view_pyarrow', 'get_kdata', 'get_last_version', 'get_log_level', 'get_market_view', 'get_market_view_pyarrow', 'get_spot_from_buffer_server', 'get_stock', 'get_system_part_enum', 'get_system_part_name', 'get_version', 'get_version_git', 'get_version_with_build', 'hikyuu_init', 'hku_benchmark', 'hku_catch', 'hku_check', 'hku_check_ignore', 'hku_check_throw', 'hku_debug', 'hku_debug_if', 'hku_error', 'hku_error_if', 'hku_fatal', 'hku_fatal_if', 'hku_info', 'hku_info_if', 'hku_logger', 'hku_run_ignore_exception', 'hku_to_async', 'hku_trace', 'hku_trace_if', 'hku_warn', 'hku_warn_if', 'in_interactive_session', 'in_ipython_frontend', 'indicator', 'inner_analysis_sys_list', 'inner_combinate_ind_analysis', 'inner_combinate_ind_analysis_with_block', 'io', 'is_valid_license', 'isinf', 'isnan', 'krecords_to_df', 'krecords_to_np', 'krecords_to_pa', 'locale', 'new_Query_init', 'new_path', 'np', 'old_Query_init', 'open_ostream_to_python', 'open_spend_time', 'os', 'pa', 'pd', 'pickle', 'positions_to_df', 'positions_to_np', 'positions_to_pa', 'pyind', 'register_extra_ktype', 'release_extra_ktype', 'remove_license', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'scorerecords_to_df', 'scorerecords_to_np', 'set_log_level', 'set_my_logger_file', 'set_python_in_interactive', 'set_python_in_jupyter', 'spend_time', 'spot_agent_is_connected', 'spot_agent_is_running', 'start_data_server', 'start_spot_agent', 'stop_data_server', 'stop_spot_agent', 'sys', 'systemweights_to_df', 'systemweights_to_np', 'timedelta', 'timeline_to_df', 'timeline_to_np', 'timeline_to_pa', 'timeout', 'toPriceList', 'traceback', 'trades_to_df', 'trades_to_np', 'trades_to_pa', 'translist_to_df', 'translist_to_np', 'translist_to_pa', 'util', 'view_license', 'weights_to_df', 'weights_to_np', 'weights_to_pa', 'with_trace']
|
|
602
627
|
def Performance_to_df(per):
|
|
603
628
|
"""
|
|
604
629
|
将 Performance 统计结果转换为 DataFrame 格式
|
|
@@ -619,7 +644,7 @@ TRACE: hikyuu.cpp.core39.LOG_LEVEL # value = <LOG_LEVEL.TRACE: 0>
|
|
|
619
644
|
VOL: hikyuu.cpp.core39.Indicator # value = Indicator{...
|
|
620
645
|
WARN: hikyuu.cpp.core39.LOG_LEVEL # value = <LOG_LEVEL.WARN: 3>
|
|
621
646
|
constant: hikyuu.cpp.core39.Constant # value = <hikyuu.cpp.core39.Constant object>
|
|
622
|
-
current_path: str = 'D:\\anaconda3\\envs\\py39;D:\\anaconda3\\envs\\py39\\Library\\mingw-w64\\bin;D:\\anaconda3\\envs\\py39\\Library\\usr\\bin;D:\\anaconda3\\envs\\py39\\Library\\bin;D:\\anaconda3\\envs\\py39\\Scripts;D:\\anaconda3\\envs\\py39\\bin;D:\\anaconda3\\condabin;C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4\\bin;C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4\\libnvvp;C:\\Program Files (x86)\\VMware\\VMware Workstation\\bin;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0;C:\\Windows\\System32\\OpenSSH;C:\\Program Files\\Calibre2;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\dotnet;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0;C:\\WINDOWS\\System32\\OpenSSH;C:\\Program Files\\Go\\bin;C:\\Program Files\\nodejs;C:\\Program Files\\NVIDIA Corporation\\Nsight Compute 2024.1.0;C:\\Program Files\\CMake\\bin;C:\\Program Files\\NVIDIA Corporation\\NVIDIA app\\NvDLISR;C:\\Program Files\\Docker\\Docker\\resources\\bin;C:\\Program Files\\Git\\cmd;C:\\Program Files\\xmake;d:\\anaconda3;d:\\anaconda3\\Library\\mingw-w64\\bin;d:\\anaconda3\\Library\\usr\\bin;d:\\anaconda3\\Library\\bin;d:\\anaconda3\\Scripts;C:\\Qt\\6.8.0\\msvc2022_64\\bin;C:\\Users\\admin\\.cargo\\bin;C:\\Users\\admin\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\admin\\xmake;D:\\mysql-8.0.27-winx64\\bin;C:\\Program Files\\Graphviz\\bin;D:\\mongodb-win32-x86_64-windows-5.0.6\\bin;C:\\tools\\apache-maven-3.8.6\\bin;C:\\Program Files\\7-Zip;C:\\Users\\admin\\AppData\\Local\\Android\\Sdk\\platform-tools;C:\\Users\\admin\\AppData\\Local\\Microsoft\\WindowsApps;c:\\tools;C:\\Users\\admin\\go\\bin;C:\\Users\\admin\\AppData\\Roaming\\npm;C:\\Program Files\\NVDIA\\CUDNN\\v9.0\\bin;.'
|
|
647
|
+
current_path: str = 'D:\\anaconda3\\envs\\py39;D:\\anaconda3\\envs\\py39\\Library\\mingw-w64\\bin;D:\\anaconda3\\envs\\py39\\Library\\usr\\bin;D:\\anaconda3\\envs\\py39\\Library\\bin;D:\\anaconda3\\envs\\py39\\Scripts;D:\\anaconda3\\envs\\py39\\bin;D:\\anaconda3\\condabin;C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4\\bin;C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4\\libnvvp;C:\\Program Files (x86)\\VMware\\VMware Workstation\\bin;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0;C:\\Windows\\System32\\OpenSSH;C:\\Program Files\\Calibre2;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\dotnet;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0;C:\\WINDOWS\\System32\\OpenSSH;C:\\Program Files\\Go\\bin;C:\\Program Files\\nodejs;C:\\Program Files\\NVIDIA Corporation\\Nsight Compute 2024.1.0;C:\\Program Files\\CMake\\bin;C:\\Program Files\\NVIDIA Corporation\\NVIDIA app\\NvDLISR;C:\\Program Files\\Docker\\Docker\\resources\\bin;C:\\Program Files\\Git\\cmd;C:\\Program Files\\xmake;d:\\anaconda3;d:\\anaconda3\\Library\\mingw-w64\\bin;d:\\anaconda3\\Library\\usr\\bin;d:\\anaconda3\\Library\\bin;d:\\anaconda3\\Scripts;C:\\Qt\\6.8.0\\msvc2022_64\\bin;C:\\Users\\admin\\.cargo\\bin;C:\\Users\\admin\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\admin\\xmake;D:\\mysql-8.0.27-winx64\\bin;C:\\Program Files\\Graphviz\\bin;D:\\mongodb-win32-x86_64-windows-5.0.6\\bin;C:\\tools\\apache-maven-3.8.6\\bin;C:\\Program Files\\7-Zip;C:\\Users\\admin\\AppData\\Local\\Android\\Sdk\\platform-tools;C:\\Users\\admin\\AppData\\Local\\Microsoft\\WindowsApps;c:\\tools;C:\\Users\\admin\\go\\bin;C:\\Users\\admin\\AppData\\Roaming\\npm;C:\\Program Files\\NVDIA\\CUDNN\\v9.0\\bin;D:\\workspace\\git-view\\vcpkg;.'
|
|
623
648
|
dll_directory: str = 'D:\\workspace\\hikyuu\\hikyuu\\cpp'
|
|
624
649
|
hku_logger: logging.Logger # value = <Logger hikyuu (INFO)>
|
|
625
|
-
new_path: str = 'D:\\workspace\\hikyuu\\hikyuu\\cpp;D:\\anaconda3\\envs\\py39;D:\\anaconda3\\envs\\py39\\Library\\mingw-w64\\bin;D:\\anaconda3\\envs\\py39\\Library\\usr\\bin;D:\\anaconda3\\envs\\py39\\Library\\bin;D:\\anaconda3\\envs\\py39\\Scripts;D:\\anaconda3\\envs\\py39\\bin;D:\\anaconda3\\condabin;C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4\\bin;C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4\\libnvvp;C:\\Program Files (x86)\\VMware\\VMware Workstation\\bin;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0;C:\\Windows\\System32\\OpenSSH;C:\\Program Files\\Calibre2;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\dotnet;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0;C:\\WINDOWS\\System32\\OpenSSH;C:\\Program Files\\Go\\bin;C:\\Program Files\\nodejs;C:\\Program Files\\NVIDIA Corporation\\Nsight Compute 2024.1.0;C:\\Program Files\\CMake\\bin;C:\\Program Files\\NVIDIA Corporation\\NVIDIA app\\NvDLISR;C:\\Program Files\\Docker\\Docker\\resources\\bin;C:\\Program Files\\Git\\cmd;C:\\Program Files\\xmake;d:\\anaconda3;d:\\anaconda3\\Library\\mingw-w64\\bin;d:\\anaconda3\\Library\\usr\\bin;d:\\anaconda3\\Library\\bin;d:\\anaconda3\\Scripts;C:\\Qt\\6.8.0\\msvc2022_64\\bin;C:\\Users\\admin\\.cargo\\bin;C:\\Users\\admin\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\admin\\xmake;D:\\mysql-8.0.27-winx64\\bin;C:\\Program Files\\Graphviz\\bin;D:\\mongodb-win32-x86_64-windows-5.0.6\\bin;C:\\tools\\apache-maven-3.8.6\\bin;C:\\Program Files\\7-Zip;C:\\Users\\admin\\AppData\\Local\\Android\\Sdk\\platform-tools;C:\\Users\\admin\\AppData\\Local\\Microsoft\\WindowsApps;c:\\tools;C:\\Users\\admin\\go\\bin;C:\\Users\\admin\\AppData\\Roaming\\npm;C:\\Program Files\\NVDIA\\CUDNN\\v9.0\\bin;.'
|
|
650
|
+
new_path: str = 'D:\\workspace\\hikyuu\\hikyuu\\cpp;D:\\anaconda3\\envs\\py39;D:\\anaconda3\\envs\\py39\\Library\\mingw-w64\\bin;D:\\anaconda3\\envs\\py39\\Library\\usr\\bin;D:\\anaconda3\\envs\\py39\\Library\\bin;D:\\anaconda3\\envs\\py39\\Scripts;D:\\anaconda3\\envs\\py39\\bin;D:\\anaconda3\\condabin;C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4\\bin;C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4\\libnvvp;C:\\Program Files (x86)\\VMware\\VMware Workstation\\bin;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0;C:\\Windows\\System32\\OpenSSH;C:\\Program Files\\Calibre2;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\dotnet;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0;C:\\WINDOWS\\System32\\OpenSSH;C:\\Program Files\\Go\\bin;C:\\Program Files\\nodejs;C:\\Program Files\\NVIDIA Corporation\\Nsight Compute 2024.1.0;C:\\Program Files\\CMake\\bin;C:\\Program Files\\NVIDIA Corporation\\NVIDIA app\\NvDLISR;C:\\Program Files\\Docker\\Docker\\resources\\bin;C:\\Program Files\\Git\\cmd;C:\\Program Files\\xmake;d:\\anaconda3;d:\\anaconda3\\Library\\mingw-w64\\bin;d:\\anaconda3\\Library\\usr\\bin;d:\\anaconda3\\Library\\bin;d:\\anaconda3\\Scripts;C:\\Qt\\6.8.0\\msvc2022_64\\bin;C:\\Users\\admin\\.cargo\\bin;C:\\Users\\admin\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\admin\\xmake;D:\\mysql-8.0.27-winx64\\bin;C:\\Program Files\\Graphviz\\bin;D:\\mongodb-win32-x86_64-windows-5.0.6\\bin;C:\\tools\\apache-maven-3.8.6\\bin;C:\\Program Files\\7-Zip;C:\\Users\\admin\\AppData\\Local\\Android\\Sdk\\platform-tools;C:\\Users\\admin\\AppData\\Local\\Microsoft\\WindowsApps;c:\\tools;C:\\Users\\admin\\go\\bin;C:\\Users\\admin\\AppData\\Roaming\\npm;C:\\Program Files\\NVDIA\\CUDNN\\v9.0\\bin;D:\\workspace\\git-view\\vcpkg;.'
|
hikyuu/trade_sys/__init__.py
CHANGED
|
@@ -32,7 +32,11 @@ from hikyuu.core import (ScoreRecordList, scorerecords_to_np, scorerecords_to_df
|
|
|
32
32
|
|
|
33
33
|
ScoreRecordList.to_np = lambda self: scorerecords_to_np(self)
|
|
34
34
|
ScoreRecordList.to_df = lambda self: scorerecords_to_df(self)
|
|
35
|
+
ScoreRecordList.to_numpy = ScoreRecordList.to_np
|
|
36
|
+
ScoreRecordList.to_pandas = ScoreRecordList.to_df
|
|
35
37
|
|
|
36
38
|
|
|
37
39
|
SystemWeightList.to_np = lambda self: systemweights_to_np(self)
|
|
38
40
|
SystemWeightList.to_df = lambda self: systemweights_to_df(self)
|
|
41
|
+
SystemWeightList.to_numpy = SystemWeightList.to_np
|
|
42
|
+
SystemWeightList.to_pandas = SystemWeightList.to_df
|
hikyuu/util/__init__.pyi
CHANGED
|
@@ -18,8 +18,8 @@ from hikyuu.util.mylog import capture_multiprocess_all_logger
|
|
|
18
18
|
from hikyuu.util.mylog import class_logger
|
|
19
19
|
from hikyuu.util.mylog import get_default_logger
|
|
20
20
|
from hikyuu.util.mylog import hku_benchmark
|
|
21
|
-
from hikyuu.util.mylog import hku_debug as hku_trace
|
|
22
21
|
from hikyuu.util.mylog import hku_debug
|
|
22
|
+
from hikyuu.util.mylog import hku_debug as hku_trace
|
|
23
23
|
from hikyuu.util.mylog import hku_debug_if as hku_trace_if
|
|
24
24
|
from hikyuu.util.mylog import hku_debug_if
|
|
25
25
|
from hikyuu.util.mylog import hku_error
|
hikyuu/util/singleton.pyi
CHANGED
|
@@ -12,7 +12,7 @@ class SingletonType(type):
|
|
|
12
12
|
self.name = name
|
|
13
13
|
|
|
14
14
|
"""
|
|
15
|
-
_instance_lock: typing.ClassVar[_thread.lock] # value = <unlocked _thread.lock object at
|
|
15
|
+
_instance_lock: typing.ClassVar[_thread.lock] # value = <unlocked _thread.lock object at 0x00000181E84ADE70>
|
|
16
16
|
@classmethod
|
|
17
17
|
def __call__(cls, *args, **kwargs):
|
|
18
18
|
...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: hikyuu
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.8.2
|
|
4
4
|
Summary: Hikyuu Quant Framework for System Trading Analysis and backtester
|
|
5
5
|
Home-page: http://hikyuu.org/
|
|
6
6
|
Author: fasiondog
|
|
@@ -25,7 +25,6 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
25
25
|
Classifier: Programming Language :: Python :: 3.12
|
|
26
26
|
Classifier: Programming Language :: Python :: 3.13
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
|
-
License-File: LICENSE
|
|
29
28
|
Requires-Dist: click
|
|
30
29
|
Requires-Dist: numpy
|
|
31
30
|
Requires-Dist: matplotlib
|
|
@@ -49,6 +48,18 @@ Requires-Dist: pipdeptree
|
|
|
49
48
|
Requires-Dist: h5py
|
|
50
49
|
Requires-Dist: tdqm
|
|
51
50
|
Requires-Dist: clickhouse-connect
|
|
51
|
+
Requires-Dist: pyarrow>=15.0.0
|
|
52
|
+
Dynamic: author
|
|
53
|
+
Dynamic: author-email
|
|
54
|
+
Dynamic: classifier
|
|
55
|
+
Dynamic: description
|
|
56
|
+
Dynamic: description-content-type
|
|
57
|
+
Dynamic: home-page
|
|
58
|
+
Dynamic: keywords
|
|
59
|
+
Dynamic: license
|
|
60
|
+
Dynamic: platform
|
|
61
|
+
Dynamic: requires-dist
|
|
62
|
+
Dynamic: summary
|
|
52
63
|
|
|
53
64
|

|
|
54
65
|
|
|
@@ -157,3 +168,4 @@ Hikyuu C++部分直接依赖以下开源项目(由以下项目间接依赖的
|
|
|
157
168
|
| clickhouse | [https://github.com/ClickHouse/ClickHouse]() | Apache 2.0 |
|
|
158
169
|
| xxhash | [https://github.com/Cyan4973/xxHash]() | BSD 2-Clause License |
|
|
159
170
|
| utf8proc | [https://github.com/JuliaStrings/utf8proc]() | MIT |
|
|
171
|
+
| arrow | [https://github.com/apache/arrow]() | Apache 2.0 |
|