hikyuu 2.2.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/LICENSE.txt +21 -0
- hikyuu/__init__.py +137 -0
- hikyuu/analysis/__init__.py +14 -0
- hikyuu/analysis/analysis.py +151 -0
- hikyuu/config/__init__.py +1 -0
- hikyuu/config/block/__init__.py +0 -0
- hikyuu/config/block/dybk.ini +5357 -0
- hikyuu/config/block/gnbk.ini +50024 -0
- hikyuu/config/block/hybk.ini +5464 -0
- hikyuu/config/block/self.ini +10 -0
- hikyuu/config/block/zsbk.ini +65543 -0
- hikyuu/core.py +27 -0
- hikyuu/cpp/__init__.py +1 -0
- hikyuu/cpp/boost_date_time-mt.dll +0 -0
- hikyuu/cpp/boost_serialization-mt.dll +0 -0
- hikyuu/cpp/boost_wserialization-mt.dll +0 -0
- hikyuu/cpp/concrt140.dll +0 -0
- hikyuu/cpp/core310.pyd +0 -0
- hikyuu/cpp/core311.pyd +0 -0
- hikyuu/cpp/core312.pyd +0 -0
- 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/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/libcrypto-1_1-x64.dll +0 -0
- hikyuu/cpp/libmysql.dll +0 -0
- hikyuu/cpp/libssl-1_1-x64.dll +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/data/__init__.py +1 -0
- hikyuu/data/common.py +248 -0
- hikyuu/data/common_h5.py +398 -0
- hikyuu/data/common_mysql.py +485 -0
- hikyuu/data/common_pytdx.py +108 -0
- hikyuu/data/common_sqlite3.py +140 -0
- hikyuu/data/em_block_to_mysql.py +120 -0
- hikyuu/data/em_block_to_sqlite.py +117 -0
- hikyuu/data/hku_config_template.py +266 -0
- hikyuu/data/mysql_upgrade/0001.sql +5 -0
- hikyuu/data/mysql_upgrade/0002.sql +3 -0
- hikyuu/data/mysql_upgrade/0003.sql +9 -0
- hikyuu/data/mysql_upgrade/0004.sql +26 -0
- hikyuu/data/mysql_upgrade/0005.sql +3 -0
- hikyuu/data/mysql_upgrade/0006.sql +2 -0
- hikyuu/data/mysql_upgrade/0007.sql +20 -0
- hikyuu/data/mysql_upgrade/0008.sql +6 -0
- hikyuu/data/mysql_upgrade/0009.sql +36 -0
- hikyuu/data/mysql_upgrade/0010.sql +5 -0
- hikyuu/data/mysql_upgrade/0011.sql +5 -0
- hikyuu/data/mysql_upgrade/0012.sql +5 -0
- hikyuu/data/mysql_upgrade/0013.sql +2389 -0
- hikyuu/data/mysql_upgrade/0014.sql +3 -0
- hikyuu/data/mysql_upgrade/0015.sql +4 -0
- hikyuu/data/mysql_upgrade/0016.sql +4 -0
- hikyuu/data/mysql_upgrade/0017.sql +5 -0
- hikyuu/data/mysql_upgrade/0018.sql +2 -0
- hikyuu/data/mysql_upgrade/0019.sql +6 -0
- hikyuu/data/mysql_upgrade/0020.sql +4 -0
- hikyuu/data/mysql_upgrade/0021.sql +4 -0
- hikyuu/data/mysql_upgrade/0022.sql +5 -0
- hikyuu/data/mysql_upgrade/0023.sql +4 -0
- hikyuu/data/mysql_upgrade/__init__.py +1 -0
- hikyuu/data/mysql_upgrade/createdb.sql +265 -0
- hikyuu/data/pytdx_finance_to_mysql.py +129 -0
- hikyuu/data/pytdx_finance_to_sqlite.py +162 -0
- hikyuu/data/pytdx_to_h5.py +662 -0
- hikyuu/data/pytdx_to_mysql.py +803 -0
- hikyuu/data/pytdx_weight_to_mysql.py +196 -0
- hikyuu/data/pytdx_weight_to_sqlite.py +192 -0
- hikyuu/data/sqlite_mem.py +84 -0
- hikyuu/data/sqlite_mem_sql/__init__.py +1 -0
- hikyuu/data/sqlite_mem_sql/createdb.sql +126 -0
- hikyuu/data/sqlite_upgrade/0001.sql +4 -0
- hikyuu/data/sqlite_upgrade/0002.sql +48 -0
- hikyuu/data/sqlite_upgrade/0003.sql +18 -0
- hikyuu/data/sqlite_upgrade/0004.sql +11 -0
- hikyuu/data/sqlite_upgrade/0005.sql +28 -0
- hikyuu/data/sqlite_upgrade/0006.sql +5 -0
- hikyuu/data/sqlite_upgrade/0007.sql +4 -0
- hikyuu/data/sqlite_upgrade/0008.sql +22 -0
- hikyuu/data/sqlite_upgrade/0009.sql +8 -0
- hikyuu/data/sqlite_upgrade/0010.sql +5 -0
- hikyuu/data/sqlite_upgrade/0011.sql +16 -0
- hikyuu/data/sqlite_upgrade/0012.sql +15 -0
- hikyuu/data/sqlite_upgrade/0013.sql +9 -0
- hikyuu/data/sqlite_upgrade/0014.sql +607 -0
- hikyuu/data/sqlite_upgrade/0015.sql +7 -0
- hikyuu/data/sqlite_upgrade/0016.sql +8 -0
- hikyuu/data/sqlite_upgrade/0017.sql +16 -0
- hikyuu/data/sqlite_upgrade/0018.sql +5 -0
- hikyuu/data/sqlite_upgrade/0019.sql +4 -0
- hikyuu/data/sqlite_upgrade/0020.sql +4 -0
- hikyuu/data/sqlite_upgrade/0021.sql +6 -0
- hikyuu/data/sqlite_upgrade/0022.sql +6 -0
- hikyuu/data/sqlite_upgrade/0023.sql +7 -0
- hikyuu/data/sqlite_upgrade/0024.sql +22 -0
- hikyuu/data/sqlite_upgrade/__init__.py +1 -0
- hikyuu/data/sqlite_upgrade/createdb.sql +61 -0
- hikyuu/data/tdx_to_h5.py +464 -0
- hikyuu/data/tdx_to_mysql.py +464 -0
- hikyuu/data/weight_to_mysql.py +72 -0
- hikyuu/data/weight_to_sqlite.py +70 -0
- hikyuu/data/zh_bond10_to_mysql.py +30 -0
- hikyuu/data/zh_bond10_to_sqlite.py +42 -0
- hikyuu/data_driver/__init__.py +49 -0
- hikyuu/data_driver/jqdata_data_driver.py +277 -0
- hikyuu/data_driver/pytdx_data_driver.py +292 -0
- hikyuu/deprecated.py +651 -0
- hikyuu/draw/__init__.py +59 -0
- hikyuu/draw/drawplot/__init__.py +291 -0
- hikyuu/draw/drawplot/bokeh_draw.py +583 -0
- hikyuu/draw/drawplot/common.py +89 -0
- hikyuu/draw/drawplot/echarts_draw.py +402 -0
- hikyuu/draw/drawplot/matplotlib_draw.py +832 -0
- hikyuu/draw/elder.py +135 -0
- hikyuu/draw/kaufman.py +192 -0
- hikyuu/draw/volume.py +122 -0
- hikyuu/examples/Turtle_SG.py +47 -0
- hikyuu/examples/__init__.py +1 -0
- hikyuu/examples/examples_init.py +33 -0
- hikyuu/examples/notebook/000-Index.ipynb +76 -0
- hikyuu/examples/notebook/001-overview.ipynb +345 -0
- hikyuu/examples/notebook/002-HowToGetStock.ipynb +265 -0
- hikyuu/examples/notebook/003-HowToGetKDataAndDraw.ipynb +375 -0
- hikyuu/examples/notebook/004-IndicatorOverview.ipynb +501 -0
- hikyuu/examples/notebook/005-Drawplot.ipynb +321 -0
- hikyuu/examples/notebook/006-TradeManager.ipynb +381 -0
- hikyuu/examples/notebook/007-SystemDetails.ipynb +380 -0
- hikyuu/examples/notebook/008-Pickle.ipynb +127 -0
- hikyuu/examples/notebook/009-RealData.ipynb +110 -0
- hikyuu/examples/notebook/010-Portfolio.ipynb +333 -0
- hikyuu/examples/notebook/011-PyechartsDrawplot.ipynb +21821 -0
- hikyuu/examples/notebook/Demo/Demo1.ipynb +622 -0
- hikyuu/examples/notebook/Demo/Demo2.ipynb +665 -0
- hikyuu/examples/notebook/Demo/__init__.py +1 -0
- hikyuu/examples/notebook/README.md +1 -0
- hikyuu/examples/notebook/__init__.py +1 -0
- hikyuu/examples/notebook/images/002_01_block_config.png +0 -0
- hikyuu/examples/notebook/images/008_01_tocsv.png +0 -0
- hikyuu/examples/notebook/images/008_02_tocsv_look.png +0 -0
- hikyuu/examples/notebook/images/008_03_pickle.png +0 -0
- hikyuu/examples/notebook/images/__init__.py +1 -0
- hikyuu/examples/quick_crtsg.py +40 -0
- hikyuu/extend.py +387 -0
- hikyuu/fetcher/__init__.py +8 -0
- hikyuu/fetcher/proxy/__init__.py +12 -0
- hikyuu/fetcher/proxy/proxy.py +39 -0
- hikyuu/fetcher/proxy/zhima.py +63 -0
- hikyuu/fetcher/stock/__init__.py +8 -0
- hikyuu/fetcher/stock/zh_block_em.py +140 -0
- hikyuu/fetcher/stock/zh_stock_a_huatai.py +51 -0
- hikyuu/fetcher/stock/zh_stock_a_pytdx.py +139 -0
- hikyuu/fetcher/stock/zh_stock_a_qmt.py +58 -0
- hikyuu/fetcher/stock/zh_stock_a_sina_qq.py +229 -0
- hikyuu/flat/Spot.py +440 -0
- hikyuu/flat/SpotList.py +74 -0
- hikyuu/flat/__init__.py +4 -0
- hikyuu/gui/HikyuuTDX.py +839 -0
- hikyuu/gui/__init__.py +1 -0
- hikyuu/gui/data/CollectSpotThread.py +43 -0
- hikyuu/gui/data/CollectToMemThread.py +123 -0
- hikyuu/gui/data/CollectToMySQLThread.py +178 -0
- hikyuu/gui/data/EscapetimeThread.py +32 -0
- hikyuu/gui/data/ImportBlockInfoTask.py +55 -0
- hikyuu/gui/data/ImportHistoryFinanceTask.py +141 -0
- hikyuu/gui/data/ImportPytdxTimeToH5Task.py +94 -0
- hikyuu/gui/data/ImportPytdxToH5Task.py +98 -0
- hikyuu/gui/data/ImportPytdxTransToH5Task.py +94 -0
- hikyuu/gui/data/ImportTdxToH5Task.py +111 -0
- hikyuu/gui/data/ImportWeightToSqliteTask.py +114 -0
- hikyuu/gui/data/ImportZhBond10Task.py +48 -0
- hikyuu/gui/data/MainWindow.py +807 -0
- hikyuu/gui/data/SchedImportThread.py +62 -0
- hikyuu/gui/data/UsePytdxImportToH5Thread.py +371 -0
- hikyuu/gui/data/UseTdxImportToH5Thread.py +182 -0
- hikyuu/gui/data/__init__.py +1 -0
- hikyuu/gui/data/tool.py +43 -0
- hikyuu/gui/hikyuu.ico +0 -0
- hikyuu/gui/importdata.py +166 -0
- hikyuu/gui/spot_server.py +336 -0
- hikyuu/gui/start_huatai_insight.py +510 -0
- hikyuu/gui/start_qmt.py +122 -0
- hikyuu/hub.py +634 -0
- hikyuu/include/__init__.py +1 -0
- hikyuu/include/hikyuu/Block.h +173 -0
- hikyuu/include/hikyuu/DataType.h +171 -0
- hikyuu/include/hikyuu/GlobalInitializer.h +46 -0
- hikyuu/include/hikyuu/HistoryFinanceInfo.h +35 -0
- hikyuu/include/hikyuu/KData.h +271 -0
- hikyuu/include/hikyuu/KDataImp.h +94 -0
- hikyuu/include/hikyuu/KQuery.h +275 -0
- hikyuu/include/hikyuu/KRecord.h +94 -0
- hikyuu/include/hikyuu/MarketInfo.h +132 -0
- hikyuu/include/hikyuu/Stock.h +351 -0
- hikyuu/include/hikyuu/StockManager.h +361 -0
- hikyuu/include/hikyuu/StockMapIterator.h +72 -0
- hikyuu/include/hikyuu/StockTypeInfo.h +127 -0
- hikyuu/include/hikyuu/StockWeight.h +148 -0
- hikyuu/include/hikyuu/StrategyContext.h +107 -0
- hikyuu/include/hikyuu/TimeLineRecord.h +71 -0
- hikyuu/include/hikyuu/TransRecord.h +79 -0
- hikyuu/include/hikyuu/ZhBond10.h +36 -0
- hikyuu/include/hikyuu/__init__.py +1 -0
- hikyuu/include/hikyuu/analysis/__init__.py +1 -0
- hikyuu/include/hikyuu/analysis/analysis_sys.h +76 -0
- hikyuu/include/hikyuu/analysis/combinate.h +115 -0
- hikyuu/include/hikyuu/config.h +48 -0
- hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +201 -0
- hikyuu/include/hikyuu/data_driver/BlockInfoDriver.h +94 -0
- hikyuu/include/hikyuu/data_driver/DataDriverFactory.h +58 -0
- hikyuu/include/hikyuu/data_driver/DriverConnectPool.h +146 -0
- hikyuu/include/hikyuu/data_driver/HistoryFinanceReader.h +36 -0
- hikyuu/include/hikyuu/data_driver/KDataDriver.h +194 -0
- hikyuu/include/hikyuu/data_driver/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/base_info/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/base_info/mysql/MySQLBaseInfoDriver.h +54 -0
- hikyuu/include/hikyuu/data_driver/base_info/mysql/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/base_info/sqlite/SQLiteBaseInfoDriver.h +50 -0
- hikyuu/include/hikyuu/data_driver/base_info/sqlite/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceFieldTable.h +19 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceTable.h +23 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/HolidayTable.h +29 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/MarketInfoTable.h +127 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/StockTable.h +64 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/StockTypeInfoTable.h +108 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/StockWeightTable.h +52 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/ZhBond10Table.h +20 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/block_info/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/block_info/mysql/MySQLBlockInfoDriver.h +29 -0
- hikyuu/include/hikyuu/data_driver/block_info/mysql/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/block_info/qianlong/QLBlockInfoDriver.h +29 -0
- hikyuu/include/hikyuu/data_driver/block_info/qianlong/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/block_info/sqlite/SQLiteBlockInfoDriver.h +29 -0
- hikyuu/include/hikyuu/data_driver/block_info/sqlite/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/kdata/DoNothingKDataDriver.h +33 -0
- hikyuu/include/hikyuu/data_driver/kdata/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/kdata/cvs/KDataTempCsvDriver.h +106 -0
- hikyuu/include/hikyuu/data_driver/kdata/cvs/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5KDataDriver.h +89 -0
- hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5Record.h +50 -0
- hikyuu/include/hikyuu/data_driver/kdata/hdf5/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/kdata/mysql/KRecordTable.h +124 -0
- hikyuu/include/hikyuu/data_driver/kdata/mysql/MySQLKDataDriver.h +78 -0
- hikyuu/include/hikyuu/data_driver/kdata/mysql/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/kdata/sqlite/SQLiteKDataDriver.h +62 -0
- hikyuu/include/hikyuu/data_driver/kdata/sqlite/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/kdata/tdx/TdxKDataDriver.h +63 -0
- hikyuu/include/hikyuu/data_driver/kdata/tdx/__init__.py +1 -0
- hikyuu/include/hikyuu/debug.h +32 -0
- hikyuu/include/hikyuu/doc.h +166 -0
- hikyuu/include/hikyuu/global/GlobalSpotAgent.h +33 -0
- hikyuu/include/hikyuu/global/SpotRecord.h +52 -0
- hikyuu/include/hikyuu/global/__init__.py +1 -0
- hikyuu/include/hikyuu/global/agent/SpotAgent.h +143 -0
- hikyuu/include/hikyuu/global/agent/__init__.py +1 -0
- hikyuu/include/hikyuu/global/agent/hikyuu/__init__.py +1 -0
- hikyuu/include/hikyuu/global/agent/hikyuu/flat/__init__.py +1 -0
- hikyuu/include/hikyuu/global/agent/spot_generated.h +527 -0
- hikyuu/include/hikyuu/global/schedule/__init__.py +1 -0
- hikyuu/include/hikyuu/global/schedule/inner_tasks.h +16 -0
- hikyuu/include/hikyuu/global/schedule/scheduler.h +24 -0
- hikyuu/include/hikyuu/global/sysinfo.h +67 -0
- hikyuu/include/hikyuu/hikyuu.h +55 -0
- hikyuu/include/hikyuu/indicator/IndParam.h +39 -0
- hikyuu/include/hikyuu/indicator/Indicator.h +403 -0
- hikyuu/include/hikyuu/indicator/IndicatorImp.h +413 -0
- hikyuu/include/hikyuu/indicator/__init__.py +1 -0
- hikyuu/include/hikyuu/indicator/build_in.h +114 -0
- hikyuu/include/hikyuu/indicator/crt/ABS.h +34 -0
- hikyuu/include/hikyuu/indicator/crt/ACOS.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/AD.h +28 -0
- hikyuu/include/hikyuu/indicator/crt/ADVANCE.h +32 -0
- hikyuu/include/hikyuu/indicator/crt/ALIGN.h +42 -0
- hikyuu/include/hikyuu/indicator/crt/AMA.h +113 -0
- hikyuu/include/hikyuu/indicator/crt/ASIN.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/ATAN.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/ATR.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/AVEDEV.h +45 -0
- hikyuu/include/hikyuu/indicator/crt/BACKSET.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/BARSCOUNT.h +37 -0
- hikyuu/include/hikyuu/indicator/crt/BARSLAST.h +41 -0
- hikyuu/include/hikyuu/indicator/crt/BARSSINCE.h +41 -0
- hikyuu/include/hikyuu/indicator/crt/BETWEEN.h +85 -0
- hikyuu/include/hikyuu/indicator/crt/BLOCKSETNUM.h +23 -0
- hikyuu/include/hikyuu/indicator/crt/CEILING.h +38 -0
- hikyuu/include/hikyuu/indicator/crt/CORR.h +24 -0
- hikyuu/include/hikyuu/indicator/crt/COS.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/COST.h +34 -0
- hikyuu/include/hikyuu/indicator/crt/COUNT.h +54 -0
- hikyuu/include/hikyuu/indicator/crt/CROSS.h +48 -0
- hikyuu/include/hikyuu/indicator/crt/CVAL.h +35 -0
- hikyuu/include/hikyuu/indicator/crt/DECLINE.h +32 -0
- hikyuu/include/hikyuu/indicator/crt/DEVSQ.h +40 -0
- hikyuu/include/hikyuu/indicator/crt/DIFF.h +31 -0
- hikyuu/include/hikyuu/indicator/crt/DMA.h +34 -0
- hikyuu/include/hikyuu/indicator/crt/DOWNNDAY.h +43 -0
- hikyuu/include/hikyuu/indicator/crt/DROPNA.h +31 -0
- hikyuu/include/hikyuu/indicator/crt/EMA.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/EVERY.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/EXIST.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/EXP.h +34 -0
- hikyuu/include/hikyuu/indicator/crt/FILTER.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/FINANCE.h +20 -0
- hikyuu/include/hikyuu/indicator/crt/FLOOR.h +38 -0
- hikyuu/include/hikyuu/indicator/crt/HHV.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/HHVBARS.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/HSL.h +39 -0
- hikyuu/include/hikyuu/indicator/crt/IC.h +41 -0
- hikyuu/include/hikyuu/indicator/crt/ICIR.h +51 -0
- hikyuu/include/hikyuu/indicator/crt/INSUM.h +33 -0
- hikyuu/include/hikyuu/indicator/crt/INTPART.h +38 -0
- hikyuu/include/hikyuu/indicator/crt/IR.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/KDATA.h +72 -0
- hikyuu/include/hikyuu/indicator/crt/LAST.h +100 -0
- hikyuu/include/hikyuu/indicator/crt/LIUTONGPAN.h +23 -0
- hikyuu/include/hikyuu/indicator/crt/LLV.h +46 -0
- hikyuu/include/hikyuu/indicator/crt/LLVBARS.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/LN.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/LOG.h +35 -0
- hikyuu/include/hikyuu/indicator/crt/LONGCROSS.h +68 -0
- hikyuu/include/hikyuu/indicator/crt/MA.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/MACD.h +62 -0
- hikyuu/include/hikyuu/indicator/crt/MAX.h +45 -0
- hikyuu/include/hikyuu/indicator/crt/MDD.h +29 -0
- hikyuu/include/hikyuu/indicator/crt/MIN.h +45 -0
- hikyuu/include/hikyuu/indicator/crt/MOD.h +49 -0
- hikyuu/include/hikyuu/indicator/crt/MRR.h +29 -0
- hikyuu/include/hikyuu/indicator/crt/NDAY.h +43 -0
- hikyuu/include/hikyuu/indicator/crt/NOT.h +35 -0
- hikyuu/include/hikyuu/indicator/crt/POS.h +21 -0
- hikyuu/include/hikyuu/indicator/crt/POW.h +48 -0
- hikyuu/include/hikyuu/indicator/crt/PRICELIST.h +59 -0
- hikyuu/include/hikyuu/indicator/crt/RECOVER.h +45 -0
- hikyuu/include/hikyuu/indicator/crt/REF.h +48 -0
- hikyuu/include/hikyuu/indicator/crt/RESULT.h +20 -0
- hikyuu/include/hikyuu/indicator/crt/REVERSE.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/ROC.h +39 -0
- hikyuu/include/hikyuu/indicator/crt/ROCP.h +39 -0
- hikyuu/include/hikyuu/indicator/crt/ROCR.h +39 -0
- hikyuu/include/hikyuu/indicator/crt/ROCR100.h +39 -0
- hikyuu/include/hikyuu/indicator/crt/ROUND.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/ROUNDDOWN.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/ROUNDUP.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/RSI.h +43 -0
- hikyuu/include/hikyuu/indicator/crt/SAFTYLOSS.h +79 -0
- hikyuu/include/hikyuu/indicator/crt/SGN.h +34 -0
- hikyuu/include/hikyuu/indicator/crt/SIN.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/SLICE.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/SLOPE.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/SMA.h +72 -0
- hikyuu/include/hikyuu/indicator/crt/SPEARMAN.h +23 -0
- hikyuu/include/hikyuu/indicator/crt/SQRT.h +41 -0
- hikyuu/include/hikyuu/indicator/crt/STDEV.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/STDP.h +38 -0
- hikyuu/include/hikyuu/indicator/crt/SUM.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/SUMBARS.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/TAN.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/TIME.h +69 -0
- hikyuu/include/hikyuu/indicator/crt/TIMELINE.h +23 -0
- hikyuu/include/hikyuu/indicator/crt/TIMELINEVOL.h +21 -0
- hikyuu/include/hikyuu/indicator/crt/TURNOVER.h +21 -0
- hikyuu/include/hikyuu/indicator/crt/UPNDAY.h +43 -0
- hikyuu/include/hikyuu/indicator/crt/VAR.h +40 -0
- hikyuu/include/hikyuu/indicator/crt/VARP.h +40 -0
- hikyuu/include/hikyuu/indicator/crt/VIGOR.h +34 -0
- hikyuu/include/hikyuu/indicator/crt/ZHBOND10.h +27 -0
- hikyuu/include/hikyuu/indicator/crt/ZONGGUBEN.h +17 -0
- hikyuu/include/hikyuu/indicator/crt/ZSCORE.h +30 -0
- hikyuu/include/hikyuu/indicator/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/indicator/imp/IAbs.h +26 -0
- hikyuu/include/hikyuu/indicator/imp/IAcos.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IAd.h +30 -0
- hikyuu/include/hikyuu/indicator/imp/IAdvance.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IAlign.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IAma.h +38 -0
- hikyuu/include/hikyuu/indicator/imp/IAsin.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IAtan.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IAtr.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IBackset.h +33 -0
- hikyuu/include/hikyuu/indicator/imp/IBarsCount.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IBarsLast.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IBarsSince.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IBlockSetNum.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/ICeil.h +31 -0
- hikyuu/include/hikyuu/indicator/imp/ICorr.h +42 -0
- hikyuu/include/hikyuu/indicator/imp/ICos.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/ICount.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/ICval.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IDecline.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IDevsq.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IDiff.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IDma.h +47 -0
- hikyuu/include/hikyuu/indicator/imp/IDropna.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IEma.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IEvery.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IExist.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IExp.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IFilter.h +34 -0
- hikyuu/include/hikyuu/indicator/imp/IFinance.h +25 -0
- hikyuu/include/hikyuu/indicator/imp/IFloor.h +31 -0
- hikyuu/include/hikyuu/indicator/imp/IHhvbars.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IHighLine.h +34 -0
- hikyuu/include/hikyuu/indicator/imp/IIc.h +45 -0
- hikyuu/include/hikyuu/indicator/imp/IInSum.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IIntpart.h +31 -0
- hikyuu/include/hikyuu/indicator/imp/IKData.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/ILiuTongPan.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/ILn.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/ILog.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/ILowLine.h +30 -0
- hikyuu/include/hikyuu/indicator/imp/ILowLineBars.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IMa.h +27 -0
- hikyuu/include/hikyuu/indicator/imp/IMacd.h +41 -0
- hikyuu/include/hikyuu/indicator/imp/IMdd.h +23 -0
- hikyuu/include/hikyuu/indicator/imp/IMrr.h +23 -0
- hikyuu/include/hikyuu/indicator/imp/INot.h +26 -0
- hikyuu/include/hikyuu/indicator/imp/IPow.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IPriceList.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IRecover.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IRef.h +34 -0
- hikyuu/include/hikyuu/indicator/imp/IResult.h +26 -0
- hikyuu/include/hikyuu/indicator/imp/IReverse.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IRoc.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IRocp.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IRocr.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IRocr100.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IRound.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IRoundDown.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IRoundUp.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/ISaftyLoss.h +44 -0
- hikyuu/include/hikyuu/indicator/imp/ISign.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/ISin.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/ISlice.h +25 -0
- hikyuu/include/hikyuu/indicator/imp/ISlope.h +25 -0
- hikyuu/include/hikyuu/indicator/imp/ISma.h +34 -0
- hikyuu/include/hikyuu/indicator/imp/ISpearman.h +42 -0
- hikyuu/include/hikyuu/indicator/imp/ISqrt.h +31 -0
- hikyuu/include/hikyuu/indicator/imp/IStdev.h +31 -0
- hikyuu/include/hikyuu/indicator/imp/IStdp.h +33 -0
- hikyuu/include/hikyuu/indicator/imp/ISum.h +27 -0
- hikyuu/include/hikyuu/indicator/imp/ISumBars.h +30 -0
- hikyuu/include/hikyuu/indicator/imp/ITan.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/ITime.h +33 -0
- hikyuu/include/hikyuu/indicator/imp/ITimeLine.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IVar.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IVarp.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IVigor.h +35 -0
- hikyuu/include/hikyuu/indicator/imp/IZScore.h +25 -0
- hikyuu/include/hikyuu/indicator/imp/IZhBond10.h +30 -0
- hikyuu/include/hikyuu/indicator/imp/IZongGuBen.h +25 -0
- hikyuu/include/hikyuu/indicator/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/python/__init__.py +1 -0
- hikyuu/include/hikyuu/python/pickle_support.h +90 -0
- hikyuu/include/hikyuu/python/pybind_utils.h +103 -0
- hikyuu/include/hikyuu/serialization/Block_serialization.h +55 -0
- hikyuu/include/hikyuu/serialization/Datetime_serialization.h +40 -0
- hikyuu/include/hikyuu/serialization/KData_serialization.h +45 -0
- hikyuu/include/hikyuu/serialization/KQuery_serialization.h +79 -0
- hikyuu/include/hikyuu/serialization/KRecord_serialization.h +50 -0
- hikyuu/include/hikyuu/serialization/MarketInfo_serialization.h +68 -0
- hikyuu/include/hikyuu/serialization/PriceList_serialization.h +66 -0
- hikyuu/include/hikyuu/serialization/StockTypeInfo_serialization.h +62 -0
- hikyuu/include/hikyuu/serialization/StockWeight_serialization.h +65 -0
- hikyuu/include/hikyuu/serialization/Stock_serialization.h +47 -0
- hikyuu/include/hikyuu/serialization/TimeDelta_serialization.h +44 -0
- hikyuu/include/hikyuu/serialization/TimeLineRecord_serialization.h +42 -0
- hikyuu/include/hikyuu/serialization/TransRecord_serialization.h +44 -0
- hikyuu/include/hikyuu/serialization/__init__.py +1 -0
- hikyuu/include/hikyuu/serialization/all.h +26 -0
- hikyuu/include/hikyuu/strategy/BrokerTradeManager.h +433 -0
- hikyuu/include/hikyuu/strategy/RunPortfolioInStrategy.h +37 -0
- hikyuu/include/hikyuu/strategy/RunSystemInStrategy.h +38 -0
- hikyuu/include/hikyuu/strategy/Strategy.h +191 -0
- hikyuu/include/hikyuu/strategy/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_manage/BorrowRecord.h +91 -0
- hikyuu/include/hikyuu/trade_manage/CostRecord.h +67 -0
- hikyuu/include/hikyuu/trade_manage/FundsRecord.h +110 -0
- hikyuu/include/hikyuu/trade_manage/LoanRecord.h +64 -0
- hikyuu/include/hikyuu/trade_manage/OrderBrokerBase.h +182 -0
- hikyuu/include/hikyuu/trade_manage/Performance.h +80 -0
- hikyuu/include/hikyuu/trade_manage/PositionRecord.h +108 -0
- hikyuu/include/hikyuu/trade_manage/TradeCostBase.h +174 -0
- hikyuu/include/hikyuu/trade_manage/TradeManager.h +487 -0
- hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +782 -0
- hikyuu/include/hikyuu/trade_manage/TradeRecord.h +151 -0
- hikyuu/include/hikyuu/trade_manage/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_manage/build_in.h +19 -0
- hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA.h +45 -0
- hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2015.h +43 -0
- hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2017.h +44 -0
- hikyuu/include/hikyuu/trade_manage/crt/TC_TestStub.h +21 -0
- hikyuu/include/hikyuu/trade_manage/crt/TC_Zero.h +25 -0
- hikyuu/include/hikyuu/trade_manage/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_manage/crt/crtTM.h +33 -0
- hikyuu/include/hikyuu/trade_manage/imp/FixedA2015TradeCost.h +53 -0
- hikyuu/include/hikyuu/trade_manage/imp/FixedA2017TradeCost.h +56 -0
- hikyuu/include/hikyuu/trade_manage/imp/FixedATradeCost.h +88 -0
- hikyuu/include/hikyuu/trade_manage/imp/TradeCostStub.h +48 -0
- hikyuu/include/hikyuu/trade_manage/imp/ZeroTradeCost.h +50 -0
- hikyuu/include/hikyuu/trade_manage/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/all.h +24 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/AllocateFundsBase.h +229 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/build_in.h +16 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_EqualWeight.h +25 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_FixedWeight.h +26 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_MultiFactor.h +21 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/EqualWeightAllocateFunds.h +27 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/FixedWeightAllocateFunds.h +28 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/MultiFactorAllocaterFunds.h +23 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/condition/ConditionBase.h +241 -0
- hikyuu/include/hikyuu/trade_sys/condition/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/condition/build_in.h +17 -0
- hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Bool.h +22 -0
- hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Logic.h +35 -0
- hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Manual.h +20 -0
- hikyuu/include/hikyuu/trade_sys/condition/crt/CN_OPLine.h +26 -0
- hikyuu/include/hikyuu/trade_sys/condition/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/BoolCondition.h +40 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/ManualCondition.h +23 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/OPLineCondition.h +44 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/SubCondition.h +42 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AddCondition.h +42 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AndCondition.h +42 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/logic/DivCondition.h +42 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/logic/MultiCondition.h +42 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/logic/OrCondition.h +42 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/logic/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/environment/EnvironmentBase.h +178 -0
- hikyuu/include/hikyuu/trade_sys/environment/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/environment/build_in.h +16 -0
- hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Bool.h +23 -0
- hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Manual.h +20 -0
- hikyuu/include/hikyuu/trade_sys/environment/crt/EV_TwoLine.h +28 -0
- hikyuu/include/hikyuu/trade_sys/environment/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/environment/imp/BoolEnvironment.h +41 -0
- hikyuu/include/hikyuu/trade_sys/environment/imp/ManualEnvironment.h +23 -0
- hikyuu/include/hikyuu/trade_sys/environment/imp/TwoLineEnvironment.h +47 -0
- hikyuu/include/hikyuu/trade_sys/environment/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/MoneyManagerBase.h +230 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/build_in.h +20 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCapital.h +20 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCount.h +28 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedPercent.h +27 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedRisk.h +20 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedUnits.h +20 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_Nothing.h +24 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_WilliamsFixedRisk.h +20 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCapitalMoneyManager.h +28 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCountMoneyManager.h +38 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedPercentMoneyManager.h +34 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedRiskMoneyManager.h +28 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedUnitsMoneyManager.h +28 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/NotMoneyManager.h +30 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/WilliamsFixedRiskMoneyManager.h +28 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/MultiFactorBase.h +275 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/ScoreRecord.h +51 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/build_in.h +12 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_EqualWeight.h +29 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICIRWeight.h +30 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICWeight.h +30 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/imp/EqualWeightMultiFactor.h +25 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICIRMultiFactor.h +27 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICMultiFactor.h +27 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +256 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/build_in.h +14 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/crt/PF_Simple.h +23 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/ProfitGoalBase.h +189 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/build_in.h +16 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedHoldDays.h +26 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedPercent.h +25 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_NoGoal.h +24 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedHoldDays.h +29 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedPercentProfitGoal.h +28 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/imp/NoGoalProfitGoal.h +27 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/selector/SelectorBase.h +245 -0
- hikyuu/include/hikyuu/trade_sys/selector/SystemWeight.h +70 -0
- hikyuu/include/hikyuu/trade_sys/selector/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/selector/build_in.h +18 -0
- hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Fixed.h +38 -0
- hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Logic.h +43 -0
- hikyuu/include/hikyuu/trade_sys/selector/crt/SE_MultiFactor.h +40 -0
- hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Optimal.h +26 -0
- hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Signal.h +30 -0
- hikyuu/include/hikyuu/trade_sys/selector/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/FixedSelector.h +28 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector.h +52 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/SignalSelector.h +30 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddValueSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivValueSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertDivValueSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertSubValueSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulValueSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSelector.h +108 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubValueSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorValueSelector.h +94 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/MaxFundsOptimalSelector.h +27 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/OptimalSelectorBase.h +86 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/PerformanceOptimalSelector.h +42 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/signal/SignalBase.h +249 -0
- hikyuu/include/hikyuu/trade_sys/signal/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/signal/build_in.h +22 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_AllwaysBuy.h +20 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Band.h +37 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Bool.h +28 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cross.h +28 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_CrossGold.h +29 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cycle.h +20 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Flex.h +29 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Manual.h +20 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Single.h +56 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/AllwaysBuySignal.h +25 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal.h +46 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal2.h +47 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/BoolSignal.h +46 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/CrossGoldSignal.h +46 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/CrossSignal.h +46 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/CycleSignal.h +25 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/ManualSignal.h +23 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal.h +45 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal2.h +45 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/slippage/SlippageBase.h +170 -0
- hikyuu/include/hikyuu/trade_sys/slippage/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/slippage/build_in.h +15 -0
- hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedPercent.h +26 -0
- hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedValue.h +26 -0
- hikyuu/include/hikyuu/trade_sys/slippage/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedPercentSlippage.h +28 -0
- hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedValueSlippage.h +28 -0
- hikyuu/include/hikyuu/trade_sys/slippage/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/StoplossBase.h +199 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/build_in.h +16 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_FixedPercent.h +25 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Indicator.h +21 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Saftyloss.h +37 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/imp/FixedPercentStoploss.h +30 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/imp/IndicatorStoploss.h +50 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/system/System.h +639 -0
- hikyuu/include/hikyuu/trade_sys/system/SystemPart.h +54 -0
- hikyuu/include/hikyuu/trade_sys/system/TradeRequest.h +94 -0
- hikyuu/include/hikyuu/trade_sys/system/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/system/build_in.h +15 -0
- hikyuu/include/hikyuu/trade_sys/system/crt/SYS_Simple.h +50 -0
- hikyuu/include/hikyuu/trade_sys/system/crt/SYS_WalkForward.h +27 -0
- hikyuu/include/hikyuu/trade_sys/system/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/system/imp/DelegateSystem.h +51 -0
- hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardSystem.h +70 -0
- hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardTradeManager.h +465 -0
- hikyuu/include/hikyuu/trade_sys/system/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/ConnectPool.h +163 -0
- hikyuu/include/hikyuu/utilities/FilterNode.h +267 -0
- hikyuu/include/hikyuu/utilities/LRUCache11.h +230 -0
- hikyuu/include/hikyuu/utilities/Log.h +411 -0
- hikyuu/include/hikyuu/utilities/Null.h +143 -0
- hikyuu/include/hikyuu/utilities/Parameter.h +511 -0
- hikyuu/include/hikyuu/utilities/ResourcePool.h +636 -0
- hikyuu/include/hikyuu/utilities/SpendTimer.h +305 -0
- hikyuu/include/hikyuu/utilities/TimerManager.h +552 -0
- hikyuu/include/hikyuu/utilities/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/any_to_string.h +142 -0
- hikyuu/include/hikyuu/utilities/arithmetic.h +401 -0
- hikyuu/include/hikyuu/utilities/base64.h +52 -0
- hikyuu/include/hikyuu/utilities/config.h +41 -0
- hikyuu/include/hikyuu/utilities/cppdef.h +25 -0
- hikyuu/include/hikyuu/utilities/datetime/Datetime.h +438 -0
- hikyuu/include/hikyuu/utilities/datetime/TimeDelta.h +343 -0
- hikyuu/include/hikyuu/utilities/datetime/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/db_connect/AutoTransAction.h +124 -0
- hikyuu/include/hikyuu/utilities/db_connect/DBCondition.h +248 -0
- hikyuu/include/hikyuu/utilities/db_connect/DBConnect.h +30 -0
- hikyuu/include/hikyuu/utilities/db_connect/DBConnectBase.h +658 -0
- hikyuu/include/hikyuu/utilities/db_connect/DBUpgrade.h +28 -0
- hikyuu/include/hikyuu/utilities/db_connect/SQLException.h +62 -0
- hikyuu/include/hikyuu/utilities/db_connect/SQLResultSet.h +248 -0
- hikyuu/include/hikyuu/utilities/db_connect/SQLStatementBase.h +305 -0
- hikyuu/include/hikyuu/utilities/db_connect/TableMacro.h +2579 -0
- hikyuu/include/hikyuu/utilities/db_connect/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLConnect.h +56 -0
- hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLStatement.h +87 -0
- hikyuu/include/hikyuu/utilities/db_connect/mysql/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteConnect.h +89 -0
- hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteStatement.h +71 -0
- hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteUtil.h +80 -0
- hikyuu/include/hikyuu/utilities/db_connect/sqlite/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/exception.h +52 -0
- hikyuu/include/hikyuu/utilities/http_client/HttpClient.h +229 -0
- hikyuu/include/hikyuu/utilities/http_client/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/http_client/nng_wrap.h +517 -0
- hikyuu/include/hikyuu/utilities/http_client/url.h +25 -0
- hikyuu/include/hikyuu/utilities/ini_parser/IniParser.h +104 -0
- hikyuu/include/hikyuu/utilities/ini_parser/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/md5.h +41 -0
- hikyuu/include/hikyuu/utilities/mo/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/mo/mo.h +48 -0
- hikyuu/include/hikyuu/utilities/mo/moFileReader.h +836 -0
- hikyuu/include/hikyuu/utilities/node/NodeClient.h +175 -0
- hikyuu/include/hikyuu/utilities/node/NodeError.h +66 -0
- hikyuu/include/hikyuu/utilities/node/NodeMessage.h +80 -0
- hikyuu/include/hikyuu/utilities/node/NodeServer.h +246 -0
- hikyuu/include/hikyuu/utilities/node/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/os.h +102 -0
- hikyuu/include/hikyuu/utilities/osdef.h +159 -0
- hikyuu/include/hikyuu/utilities/runtimeinfo.h +35 -0
- hikyuu/include/hikyuu/utilities/snowflake.h +110 -0
- hikyuu/include/hikyuu/utilities/string_view.h +70 -0
- hikyuu/include/hikyuu/utilities/thread/FuncWrapper.h +85 -0
- hikyuu/include/hikyuu/utilities/thread/InterruptFlag.h +30 -0
- hikyuu/include/hikyuu/utilities/thread/MQStealQueue.h +112 -0
- hikyuu/include/hikyuu/utilities/thread/MQStealThreadPool.h +315 -0
- hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +275 -0
- hikyuu/include/hikyuu/utilities/thread/StealThreadPool.h +309 -0
- hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +231 -0
- hikyuu/include/hikyuu/utilities/thread/ThreadSafeQueue.h +101 -0
- hikyuu/include/hikyuu/utilities/thread/WorkStealQueue.h +105 -0
- hikyuu/include/hikyuu/utilities/thread/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/thread/algorithm.h +110 -0
- hikyuu/include/hikyuu/utilities/thread/thread.h +10 -0
- hikyuu/include/hikyuu/version.h +24 -0
- hikyuu/indicator/__init__.py +29 -0
- hikyuu/indicator/indicator.py +157 -0
- hikyuu/indicator/pyind.py +47 -0
- hikyuu/indicator/talib_wrap.py +1264 -0
- hikyuu/interactive.py +331 -0
- hikyuu/setup.py +104 -0
- hikyuu/shell/__init__.py +0 -0
- hikyuu/shell/cmdserver.py +126 -0
- hikyuu/shell/hkucmd.py +110 -0
- hikyuu/shell/hkushell.py +20 -0
- hikyuu/sqlite3.dll +0 -0
- hikyuu/strategy/__init__.py +2 -0
- hikyuu/strategy/strategy_demo1.py +54 -0
- hikyuu/strategy/strategy_demo2.py +47 -0
- hikyuu/strategy/strategy_demo3.py +24 -0
- hikyuu/test/AllocateFunds.py +25 -0
- hikyuu/test/Condition.py +95 -0
- hikyuu/test/Datetime.py +61 -0
- hikyuu/test/Environment.py +88 -0
- hikyuu/test/Indicator.py +233 -0
- hikyuu/test/KData.py +64 -0
- hikyuu/test/MarketInfo.py +26 -0
- hikyuu/test/MoneyManager.py +88 -0
- hikyuu/test/Parameter.py +62 -0
- hikyuu/test/ProfitGoal.py +83 -0
- hikyuu/test/Signal.py +160 -0
- hikyuu/test/Slippage.py +88 -0
- hikyuu/test/Stock.py +127 -0
- hikyuu/test/StockTypeInfo.py +47 -0
- hikyuu/test/Stoploss.py +86 -0
- hikyuu/test/TradeCost.py +71 -0
- hikyuu/test/__init__.py +0 -0
- hikyuu/test/test.py +63 -0
- hikyuu/test/test_init.py +36 -0
- hikyuu/tools/__init__.py +1 -0
- hikyuu/tools/copy_file.py +16 -0
- hikyuu/tools/delete_index.py +50 -0
- hikyuu/tools/fenge.py +139 -0
- hikyuu/tools/h5_data_clear.py +163 -0
- hikyuu/tools/mysql_clear_last_day_data.py +61 -0
- hikyuu/tools/update_block_info.py +168 -0
- hikyuu/trade_manage/__init__.py +30 -0
- hikyuu/trade_manage/broker.py +95 -0
- hikyuu/trade_manage/broker_easytrader.py +63 -0
- hikyuu/trade_manage/broker_mail.py +101 -0
- hikyuu/trade_manage/trade.py +111 -0
- hikyuu/trade_sys/__init__.py +27 -0
- hikyuu/trade_sys/trade_sys.py +251 -0
- hikyuu/util/__init__.py +49 -0
- hikyuu/util/check.py +153 -0
- hikyuu/util/mylog.py +264 -0
- hikyuu/util/notebook.py +47 -0
- hikyuu/util/singleton.py +29 -0
- hikyuu/util/slice.py +43 -0
- hikyuu/util/timeout.py +83 -0
- hikyuu/vcruntime140.dll +0 -0
- hikyuu/vcruntime140_1.dll +0 -0
- hikyuu-2.2.2.dist-info/LICENSE +201 -0
- hikyuu-2.2.2.dist-info/METADATA +127 -0
- hikyuu-2.2.2.dist-info/RECORD +820 -0
- hikyuu-2.2.2.dist-info/WHEEL +5 -0
- hikyuu-2.2.2.dist-info/entry_points.txt +3 -0
- hikyuu-2.2.2.dist-info/top_level.txt +112 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 hikyuu.org
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2024-02-03
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "hikyuu/indicator/Indicator.h"
|
|
11
|
+
#include "hikyuu/trade_sys/environment/EnvironmentBase.h"
|
|
12
|
+
|
|
13
|
+
namespace hku {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 布尔信号指标市场环境
|
|
17
|
+
* @param ind bool类型的指标,指标中相应位置>0则代表市场有效,否则无效
|
|
18
|
+
* @param market 指定的市场,用于获取相应的交易日历
|
|
19
|
+
* @return
|
|
20
|
+
*/
|
|
21
|
+
EVPtr HKU_API EV_Bool(const Indicator& ind, const string& market = "SH");
|
|
22
|
+
|
|
23
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2019~2023, hikyuu.org
|
|
3
|
+
*
|
|
4
|
+
* History:
|
|
5
|
+
* 1. 20240916 added by fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "../EnvironmentBase.h"
|
|
11
|
+
|
|
12
|
+
namespace hku {
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 仅能手工添加系统环境有效性的EV,用于测试或其他用途
|
|
16
|
+
* @return EVPtr
|
|
17
|
+
*/
|
|
18
|
+
EVPtr HKU_API EV_Manual();
|
|
19
|
+
|
|
20
|
+
} // namespace hku
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* EV_TwoLine.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2016年5月17日
|
|
5
|
+
* Author: Administrator
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADE_SYS_ENVIRONMENT_CRT_EV_TWOLINE_H_
|
|
10
|
+
#define TRADE_SYS_ENVIRONMENT_CRT_EV_TWOLINE_H_
|
|
11
|
+
|
|
12
|
+
#include "../../../indicator/Indicator.h"
|
|
13
|
+
#include "../EnvironmentBase.h"
|
|
14
|
+
|
|
15
|
+
namespace hku {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* 快慢线判断策略,市场指数的快线大于慢线时,市场有效,否则无效。
|
|
19
|
+
* @param fast 快线指标
|
|
20
|
+
* @param slow 慢线指标
|
|
21
|
+
* @param market 市场名称,默认为"SH"
|
|
22
|
+
* @return
|
|
23
|
+
*/
|
|
24
|
+
EVPtr HKU_API EV_TwoLine(const Indicator& fast, const Indicator& slow, const string& market = "SH");
|
|
25
|
+
|
|
26
|
+
} /* namespace hku */
|
|
27
|
+
|
|
28
|
+
#endif /* TRADE_SYS_ENVIRONMENT_CRT_EV_TWOLINE_H_ */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 hikyuu.org
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2024-02-03
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "hikyuu/indicator/Indicator.h"
|
|
11
|
+
#include "hikyuu/trade_sys/environment/EnvironmentBase.h"
|
|
12
|
+
|
|
13
|
+
namespace hku {
|
|
14
|
+
|
|
15
|
+
class BoolEnvironment : public EnvironmentBase {
|
|
16
|
+
public:
|
|
17
|
+
BoolEnvironment();
|
|
18
|
+
explicit BoolEnvironment(const Indicator& ind);
|
|
19
|
+
virtual ~BoolEnvironment();
|
|
20
|
+
|
|
21
|
+
virtual void _checkParam(const string& name) const override;
|
|
22
|
+
virtual void _calculate() override;
|
|
23
|
+
virtual EnvironmentPtr _clone() override;
|
|
24
|
+
|
|
25
|
+
private:
|
|
26
|
+
Indicator m_ind;
|
|
27
|
+
|
|
28
|
+
//============================================
|
|
29
|
+
// 序列化支持
|
|
30
|
+
//============================================
|
|
31
|
+
#if HKU_SUPPORT_SERIALIZATION
|
|
32
|
+
friend class boost::serialization::access;
|
|
33
|
+
template <class Archive>
|
|
34
|
+
void serialize(Archive& ar, const unsigned int version) {
|
|
35
|
+
ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(EnvironmentBase);
|
|
36
|
+
ar& BOOST_SERIALIZATION_NVP(m_ind);
|
|
37
|
+
}
|
|
38
|
+
#endif
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
} // namespace hku
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2019~2023, hikyuu.org
|
|
3
|
+
*
|
|
4
|
+
* History:
|
|
5
|
+
* 1. 20240916 added by fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "../EnvironmentBase.h"
|
|
11
|
+
|
|
12
|
+
namespace hku {
|
|
13
|
+
|
|
14
|
+
class ManualEnvironment : public EnvironmentBase {
|
|
15
|
+
ENVIRONMENT_IMP(ManualEnvironment)
|
|
16
|
+
ENVIRONMENT_NO_PRIVATE_MEMBER_SERIALIZATION
|
|
17
|
+
|
|
18
|
+
public:
|
|
19
|
+
ManualEnvironment();
|
|
20
|
+
virtual ~ManualEnvironment() = default;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
} // namespace hku
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* TwoLineEnviroment.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2016年5月17日
|
|
5
|
+
* Author: Administrator
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADE_SYS_ENVIRONMENT_IMP_TWOLINEENVIRONMENT_H_
|
|
10
|
+
#define TRADE_SYS_ENVIRONMENT_IMP_TWOLINEENVIRONMENT_H_
|
|
11
|
+
|
|
12
|
+
#include "../../../indicator/Indicator.h"
|
|
13
|
+
#include "../EnvironmentBase.h"
|
|
14
|
+
|
|
15
|
+
namespace hku {
|
|
16
|
+
|
|
17
|
+
class TwoLineEnvironment : public EnvironmentBase {
|
|
18
|
+
public:
|
|
19
|
+
TwoLineEnvironment();
|
|
20
|
+
TwoLineEnvironment(const Indicator& fast, const Indicator& slow);
|
|
21
|
+
virtual ~TwoLineEnvironment();
|
|
22
|
+
|
|
23
|
+
virtual void _checkParam(const string& name) const override;
|
|
24
|
+
virtual void _calculate() override;
|
|
25
|
+
virtual EnvironmentPtr _clone() override;
|
|
26
|
+
|
|
27
|
+
private:
|
|
28
|
+
Indicator m_fast;
|
|
29
|
+
Indicator m_slow;
|
|
30
|
+
|
|
31
|
+
//============================================
|
|
32
|
+
// 序列化支持
|
|
33
|
+
//============================================
|
|
34
|
+
#if HKU_SUPPORT_SERIALIZATION
|
|
35
|
+
friend class boost::serialization::access;
|
|
36
|
+
template <class Archive>
|
|
37
|
+
void serialize(Archive& ar, const unsigned int version) {
|
|
38
|
+
ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(EnvironmentBase);
|
|
39
|
+
ar& BOOST_SERIALIZATION_NVP(m_fast);
|
|
40
|
+
ar& BOOST_SERIALIZATION_NVP(m_slow);
|
|
41
|
+
}
|
|
42
|
+
#endif
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
} /* namespace hku */
|
|
46
|
+
|
|
47
|
+
#endif /* TRADE_SYS_ENVIRONMENT_IMP_TWOLINEENVIRONMENT_H_ */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MoneyManagerBase.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-3-3
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef MONEYMANAGERBASE_H_
|
|
10
|
+
#define MONEYMANAGERBASE_H_
|
|
11
|
+
|
|
12
|
+
#include "../../utilities/Parameter.h"
|
|
13
|
+
#include "../system/SystemPart.h"
|
|
14
|
+
#include "../../trade_manage/TradeManager.h"
|
|
15
|
+
|
|
16
|
+
namespace hku {
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* 资金管理基类
|
|
20
|
+
* @ingroup MoneyManager
|
|
21
|
+
*/
|
|
22
|
+
class HKU_API MoneyManagerBase : public enable_shared_from_this<MoneyManagerBase> {
|
|
23
|
+
PARAMETER_SUPPORT_WITH_CHECK
|
|
24
|
+
|
|
25
|
+
public:
|
|
26
|
+
MoneyManagerBase();
|
|
27
|
+
explicit MoneyManagerBase(const string& name);
|
|
28
|
+
MoneyManagerBase(const MoneyManagerBase&) = default;
|
|
29
|
+
virtual ~MoneyManagerBase();
|
|
30
|
+
|
|
31
|
+
/** 获取名称 */
|
|
32
|
+
const string& name() const {
|
|
33
|
+
return m_name;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** 设置名称 */
|
|
37
|
+
void name(const string& name) {
|
|
38
|
+
m_name = name;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** 复位 */
|
|
42
|
+
void reset();
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* 设定交易账户
|
|
46
|
+
* @param tm 指定的交易账户
|
|
47
|
+
*/
|
|
48
|
+
void setTM(const TradeManagerPtr& tm) {
|
|
49
|
+
m_tm = tm;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* 获取交易账户
|
|
54
|
+
* @return
|
|
55
|
+
*/
|
|
56
|
+
TradeManagerPtr getTM() const {
|
|
57
|
+
return m_tm;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/** 设置查询条件 */
|
|
61
|
+
void setQuery(const KQuery& query) {
|
|
62
|
+
m_query = query;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** 获取交易的K线类型 */
|
|
66
|
+
const KQuery& getQuery() const {
|
|
67
|
+
return m_query;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
typedef shared_ptr<MoneyManagerBase> MoneyManagerPtr;
|
|
71
|
+
/** 克隆操作 */
|
|
72
|
+
MoneyManagerPtr clone();
|
|
73
|
+
|
|
74
|
+
/** 接收实际交易变化情况,一般存在多次增减仓的情况才需要重载 */
|
|
75
|
+
virtual void buyNotify(const TradeRecord&);
|
|
76
|
+
|
|
77
|
+
/** 接收实际交易变化情况,一般存在多次增减仓的情况才需要重载 */
|
|
78
|
+
virtual void sellNotify(const TradeRecord&);
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* 获取指定交易对象可卖出的数量
|
|
82
|
+
* @param datetime 交易日期
|
|
83
|
+
* @param stock 交易对象
|
|
84
|
+
* @param price 交易价格
|
|
85
|
+
* @param risk 新的交易承担的风险,如果为0,表示全部损失,即市值跌至0元
|
|
86
|
+
* @param from 信号来源
|
|
87
|
+
* @note 默认实现返回 MAX_DOUBLE 卖出全部; 多次减仓才需要实现该接口
|
|
88
|
+
*/
|
|
89
|
+
double getSellNumber(const Datetime& datetime, const Stock& stock, price_t price, price_t risk,
|
|
90
|
+
SystemPart from);
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* 获取指定交易对象可卖空的数量
|
|
94
|
+
* @param datetime 交易日期
|
|
95
|
+
* @param stock 交易对象
|
|
96
|
+
* @param price 交易价格
|
|
97
|
+
* @param from 信号来源
|
|
98
|
+
* @param risk 承担的交易风险,如果为Null<price_t>,表示不设损失上限
|
|
99
|
+
*/
|
|
100
|
+
double getSellShortNumber(const Datetime& datetime, const Stock& stock, price_t price,
|
|
101
|
+
price_t risk, SystemPart from);
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* 获取指定交易对象空头回补的买入数量
|
|
105
|
+
* @param datetime 交易日期
|
|
106
|
+
* @param stock 交易对象
|
|
107
|
+
* @param price 交易价格
|
|
108
|
+
* @param from 信号来源
|
|
109
|
+
* @param risk 承担的交易风险,如果为Null<price_t>,表示不设损失上限
|
|
110
|
+
*/
|
|
111
|
+
double getBuyShortNumber(const Datetime& datetime, const Stock& stock, price_t price,
|
|
112
|
+
price_t risk, SystemPart from);
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* 获取指定交易对象可买入的数量
|
|
116
|
+
* @param datetime 交易日期
|
|
117
|
+
* @param stock 交易对象
|
|
118
|
+
* @param price 交易价格
|
|
119
|
+
* @param from 信号来源
|
|
120
|
+
* @param risk 交易承担的风险,如果为0,表示全部损失,即市值跌至0元
|
|
121
|
+
*/
|
|
122
|
+
double getBuyNumber(const Datetime& datetime, const Stock& stock, price_t price, price_t risk,
|
|
123
|
+
SystemPart from);
|
|
124
|
+
|
|
125
|
+
virtual double _getBuyNumber(const Datetime& datetime, const Stock& stock, price_t price,
|
|
126
|
+
price_t risk, SystemPart from) = 0;
|
|
127
|
+
|
|
128
|
+
virtual double _getSellNumber(const Datetime& datetime, const Stock& stock, price_t price,
|
|
129
|
+
price_t risk, SystemPart from);
|
|
130
|
+
|
|
131
|
+
virtual double _getSellShortNumber(const Datetime& datetime, const Stock& stock, price_t price,
|
|
132
|
+
price_t risk, SystemPart from);
|
|
133
|
+
|
|
134
|
+
virtual double _getBuyShortNumber(const Datetime& datetime, const Stock& stock, price_t price,
|
|
135
|
+
price_t risk, SystemPart from);
|
|
136
|
+
|
|
137
|
+
/** 子类复位接口 */
|
|
138
|
+
virtual void _reset() {}
|
|
139
|
+
|
|
140
|
+
/** 子类克隆私有变量接口 */
|
|
141
|
+
virtual MoneyManagerPtr _clone() = 0;
|
|
142
|
+
|
|
143
|
+
protected:
|
|
144
|
+
string m_name;
|
|
145
|
+
KQuery m_query;
|
|
146
|
+
TradeManagerPtr m_tm;
|
|
147
|
+
|
|
148
|
+
//============================================
|
|
149
|
+
// 序列化支持
|
|
150
|
+
//============================================
|
|
151
|
+
#if HKU_SUPPORT_SERIALIZATION
|
|
152
|
+
private:
|
|
153
|
+
friend class boost::serialization::access;
|
|
154
|
+
template <class Archive>
|
|
155
|
+
void save(Archive& ar, const unsigned int version) const {
|
|
156
|
+
ar& BOOST_SERIALIZATION_NVP(m_name);
|
|
157
|
+
ar& BOOST_SERIALIZATION_NVP(m_params);
|
|
158
|
+
// m_query、m_tm都是系统运行时临时设置,不需要序列化
|
|
159
|
+
// ar & BOOST_SERIALIZATION_NVP(m_query);
|
|
160
|
+
// ar & BOOST_SERIALIZATION_NVP(m_tm);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
template <class Archive>
|
|
164
|
+
void load(Archive& ar, const unsigned int version) {
|
|
165
|
+
ar& BOOST_SERIALIZATION_NVP(m_name);
|
|
166
|
+
ar& BOOST_SERIALIZATION_NVP(m_params);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
BOOST_SERIALIZATION_SPLIT_MEMBER()
|
|
170
|
+
#endif /* HKU_SUPPORT_SERIALIZATION */
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
#if HKU_SUPPORT_SERIALIZATION
|
|
174
|
+
BOOST_SERIALIZATION_ASSUME_ABSTRACT(MoneyManagerBase)
|
|
175
|
+
#endif
|
|
176
|
+
|
|
177
|
+
#if HKU_SUPPORT_SERIALIZATION
|
|
178
|
+
/**
|
|
179
|
+
* 对于没有私有变量的继承子类,可直接使用该宏定义序列化
|
|
180
|
+
* @code
|
|
181
|
+
* class Drived: public MoneyManagerBase {
|
|
182
|
+
* MONEY_MANAGER_NO_PRIVATE_MEMBER_SERIALIZATION
|
|
183
|
+
*
|
|
184
|
+
* public:
|
|
185
|
+
* Drived();
|
|
186
|
+
* ...
|
|
187
|
+
* };
|
|
188
|
+
* @endcode
|
|
189
|
+
* @ingroup MoneyManager
|
|
190
|
+
*/
|
|
191
|
+
#define MONEY_MANAGER_NO_PRIVATE_MEMBER_SERIALIZATION \
|
|
192
|
+
private: \
|
|
193
|
+
friend class boost::serialization::access; \
|
|
194
|
+
template <class Archive> \
|
|
195
|
+
void serialize(Archive& ar, const unsigned int version) { \
|
|
196
|
+
ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(MoneyManagerBase); \
|
|
197
|
+
}
|
|
198
|
+
#else
|
|
199
|
+
#define MONEY_MANAGER_NO_PRIVATE_MEMBER_SERIALIZATION
|
|
200
|
+
#endif
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* 客户程序都应使用该指针类型
|
|
204
|
+
* @ingroup MoneyManager
|
|
205
|
+
*/
|
|
206
|
+
typedef shared_ptr<MoneyManagerBase> MoneyManagerPtr;
|
|
207
|
+
typedef shared_ptr<MoneyManagerBase> MMPtr;
|
|
208
|
+
|
|
209
|
+
#define MONEY_MANAGER_IMP(classname) \
|
|
210
|
+
public: \
|
|
211
|
+
virtual MoneyManagerPtr _clone() override { \
|
|
212
|
+
return std::make_shared<classname>(); \
|
|
213
|
+
} \
|
|
214
|
+
virtual double _getBuyNumber(const Datetime& datetime, const Stock& stock, price_t price, \
|
|
215
|
+
price_t risk, SystemPart from) override;
|
|
216
|
+
|
|
217
|
+
HKU_API std::ostream& operator<<(std::ostream&, const MoneyManagerBase&);
|
|
218
|
+
HKU_API std::ostream& operator<<(std::ostream&, const MoneyManagerPtr&);
|
|
219
|
+
|
|
220
|
+
} /* namespace hku */
|
|
221
|
+
|
|
222
|
+
#if FMT_VERSION >= 90000
|
|
223
|
+
template <>
|
|
224
|
+
struct fmt::formatter<hku::MoneyManagerBase> : ostream_formatter {};
|
|
225
|
+
|
|
226
|
+
template <>
|
|
227
|
+
struct fmt::formatter<hku::MoneyManagerPtr> : ostream_formatter {};
|
|
228
|
+
#endif
|
|
229
|
+
|
|
230
|
+
#endif /* MONEYMANAGERBASE_H_ */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* build_in.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-4-19
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef MONEYMANAGER_BUILD_IN_H_
|
|
10
|
+
#define MONEYMANAGER_BUILD_IN_H_
|
|
11
|
+
|
|
12
|
+
#include "crt/MM_Nothing.h"
|
|
13
|
+
#include "crt/MM_FixedPercent.h"
|
|
14
|
+
#include "crt/MM_FixedRisk.h"
|
|
15
|
+
#include "crt/MM_FixedCapital.h"
|
|
16
|
+
#include "crt/MM_FixedCount.h"
|
|
17
|
+
#include "crt/MM_FixedUnits.h"
|
|
18
|
+
#include "crt/MM_WilliamsFixedRisk.h"
|
|
19
|
+
|
|
20
|
+
#endif /* MONEYMANAGER_BUILD_IN_H_ */
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MM_FixedCapital.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2016年5月3日
|
|
5
|
+
* Author: Administrator
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADE_SYS_MONEYMANAGER_CRT_MM_FIXEDCAPITAL_H_
|
|
10
|
+
#define TRADE_SYS_MONEYMANAGER_CRT_MM_FIXEDCAPITAL_H_
|
|
11
|
+
|
|
12
|
+
#include "../MoneyManagerBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
MoneyManagerPtr HKU_API MM_FixedCapital(double capital = 10000.00);
|
|
17
|
+
|
|
18
|
+
} /* namespace hku */
|
|
19
|
+
|
|
20
|
+
#endif /* TRADE_SYS_MONEYMANAGER_CRT_MM_FIXEDCAPITAL_H_ */
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MM_FixedCount.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-4-19
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef FIXEDCOUNT_MM_H_
|
|
10
|
+
#define FIXEDCOUNT_MM_H_
|
|
11
|
+
|
|
12
|
+
#include "../MoneyManagerBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 固定交易数量资金管理策略
|
|
18
|
+
* @details 每次买入固定的数量。
|
|
19
|
+
* @param n 每次买入的数量(应该是交易对象最小交易数量的整数,此处程序没有此进行判断)
|
|
20
|
+
* @note 1) 该策略主要用于测试和其他策略进行比较结果,本身不符合现实。\n
|
|
21
|
+
* 2) 该策略并不判断已有的持仓情况,如果在已有持仓情况下不能交易,则该判断应为System本身的责任
|
|
22
|
+
* @ingroup MoneyManager
|
|
23
|
+
*/
|
|
24
|
+
MoneyManagerPtr HKU_API MM_FixedCount(double n = 100);
|
|
25
|
+
|
|
26
|
+
} // namespace hku
|
|
27
|
+
|
|
28
|
+
#endif /* FIXEDCOUNT_MM_H_ */
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MM_FixedPercent.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2015年4月5日
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADE_SYS_MONEYMANAGER_CRT_MM_FIXEDPERCENT_H_
|
|
10
|
+
#define TRADE_SYS_MONEYMANAGER_CRT_MM_FIXEDPERCENT_H_
|
|
11
|
+
|
|
12
|
+
#include "../MoneyManagerBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 百分比风险模型
|
|
18
|
+
* @details 参见:《通往财务自由之路》2008年6月 机械工业出版社 范 K.撒普(Van K. Tharp.)P312
|
|
19
|
+
* 公式:P(头寸规模)= C(总风险)/ R(每股的风险) [这里C现金为总风险]
|
|
20
|
+
* @param p 每笔交易总风险占总资产的百分比,如0.02表示总资产的2%
|
|
21
|
+
* @ingroup MoneyManager
|
|
22
|
+
*/
|
|
23
|
+
MoneyManagerPtr HKU_API MM_FixedPercent(double p);
|
|
24
|
+
|
|
25
|
+
} // namespace hku
|
|
26
|
+
|
|
27
|
+
#endif /* TRADE_SYS_MONEYMANAGER_CRT_MM_FIXEDPERCENT_H_ */
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MM_FixedRisk.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2016年5月1日
|
|
5
|
+
* Author: Administrator
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADE_SYS_MONEYMANAGER_CRT_MM_FIXEDRISK_H_
|
|
10
|
+
#define TRADE_SYS_MONEYMANAGER_CRT_MM_FIXEDRISK_H_
|
|
11
|
+
|
|
12
|
+
#include "../MoneyManagerBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
MoneyManagerPtr HKU_API MM_FixedRisk(double risk = 1000.00);
|
|
17
|
+
|
|
18
|
+
} /* namespace hku */
|
|
19
|
+
|
|
20
|
+
#endif /* TRADE_SYS_MONEYMANAGER_CRT_MM_FIXEDRISK_H_ */
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MM_FixedUnits.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2016年5月3日
|
|
5
|
+
* Author: Administrator
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADE_SYS_MONEYMANAGER_CRT_MM_FIXEDUNITS_H_
|
|
10
|
+
#define TRADE_SYS_MONEYMANAGER_CRT_MM_FIXEDUNITS_H_
|
|
11
|
+
|
|
12
|
+
#include "../MoneyManagerBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
MoneyManagerPtr HKU_API MM_FixedUnits(int n = 33);
|
|
17
|
+
|
|
18
|
+
} // namespace hku
|
|
19
|
+
|
|
20
|
+
#endif /* TRADE_SYS_MONEYMANAGER_CRT_MM_FIXEDUNITS_H_ */
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MM_FixedCount.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-4-19
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef NOTHING_MM_H_
|
|
10
|
+
#define NOTHING_MM_H_
|
|
11
|
+
|
|
12
|
+
#include "../MoneyManagerBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 不做资金管理,有多少钱买多少
|
|
18
|
+
* @ingroup MoneyManager
|
|
19
|
+
*/
|
|
20
|
+
MoneyManagerPtr HKU_API MM_Nothing();
|
|
21
|
+
|
|
22
|
+
} // namespace hku
|
|
23
|
+
|
|
24
|
+
#endif /* NOTHING_MM_H_ */
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MM_WilliamsFixedRisk.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2016年5月3日
|
|
5
|
+
* Author: Administrator
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADE_SYS_MONEYMANAGER_CRT_MM_WILLIAMSFIXEDRISK_H_
|
|
10
|
+
#define TRADE_SYS_MONEYMANAGER_CRT_MM_WILLIAMSFIXEDRISK_H_
|
|
11
|
+
|
|
12
|
+
#include "../MoneyManagerBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
MoneyManagerPtr HKU_API MM_WilliamsFixedRisk(double p = 0.1, price_t max_loss = 1000.0);
|
|
17
|
+
|
|
18
|
+
} // namespace hku
|
|
19
|
+
|
|
20
|
+
#endif /* TRADE_SYS_MONEYMANAGER_CRT_MM_WILLIAMSFIXEDRISK_H_ */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* FixedCapitalMoneyManager.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2016年5月3日
|
|
5
|
+
* Author: Administrator
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADE_SYS_MONEYMANAGER_IMP_FIXEDCAPITALMONEYMANAGER_H_
|
|
10
|
+
#define TRADE_SYS_MONEYMANAGER_IMP_FIXEDCAPITALMONEYMANAGER_H_
|
|
11
|
+
|
|
12
|
+
#include "../MoneyManagerBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
class FixedCapitalMoneyManager : public MoneyManagerBase {
|
|
17
|
+
MONEY_MANAGER_IMP(FixedCapitalMoneyManager)
|
|
18
|
+
MONEY_MANAGER_NO_PRIVATE_MEMBER_SERIALIZATION
|
|
19
|
+
|
|
20
|
+
public:
|
|
21
|
+
FixedCapitalMoneyManager();
|
|
22
|
+
virtual ~FixedCapitalMoneyManager();
|
|
23
|
+
virtual void _checkParam(const string& name) const override;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
} /* namespace hku */
|
|
27
|
+
|
|
28
|
+
#endif /* TRADE_SYS_MONEYMANAGER_IMP_FIXEDCAPITALMONEYMANAGER_H_ */
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* FixedCountMoneyManager.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-4-19
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef FIXEDCOUNTMONEYMANAGER_H_
|
|
10
|
+
#define FIXEDCOUNTMONEYMANAGER_H_
|
|
11
|
+
|
|
12
|
+
#include "../MoneyManagerBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 固定交易数量资金管理策略
|
|
18
|
+
* @details 每次买入固定的数量,如果帐户余额不足,则向帐户中存入足够的资金,保证能够执行买入。
|
|
19
|
+
* 即,假设资金总是充足的。
|
|
20
|
+
* @param n 每次买入的数量(应该是交易对象最小交易数量的整数,此处程序没有此进行判断)
|
|
21
|
+
* @note 1) 该策略主要用于测试和其他策略进行比较结果,本身不符合现实。\n
|
|
22
|
+
* 2) 该策略并不判断已有的持仓情况,如果在已有持仓情况下不能交易,则该判断应为System本身的责任
|
|
23
|
+
*/
|
|
24
|
+
class FixedCountMoneyManager : public MoneyManagerBase {
|
|
25
|
+
MONEY_MANAGER_IMP(FixedCountMoneyManager)
|
|
26
|
+
|
|
27
|
+
virtual double _getSellShortNumber(const Datetime& datetime, const Stock& stock, price_t price,
|
|
28
|
+
price_t risk, SystemPart from) override;
|
|
29
|
+
MONEY_MANAGER_NO_PRIVATE_MEMBER_SERIALIZATION
|
|
30
|
+
|
|
31
|
+
public:
|
|
32
|
+
FixedCountMoneyManager();
|
|
33
|
+
virtual ~FixedCountMoneyManager();
|
|
34
|
+
virtual void _checkParam(const string& name) const override;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
} /* namespace hku */
|
|
38
|
+
#endif /* FIXEDCOUNTMONEYMANAGER_H_ */
|