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,151 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* TradeRecord.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-2-21
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADERECORD_H_
|
|
10
|
+
#define TRADERECORD_H_
|
|
11
|
+
|
|
12
|
+
#include "../StockManager.h"
|
|
13
|
+
#include "../trade_sys/system/SystemPart.h"
|
|
14
|
+
#include "CostRecord.h"
|
|
15
|
+
|
|
16
|
+
#include "../serialization/Datetime_serialization.h"
|
|
17
|
+
#include "../serialization/Stock_serialization.h"
|
|
18
|
+
|
|
19
|
+
namespace hku {
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 业务类型
|
|
23
|
+
* @ingroup TradeManagerClass
|
|
24
|
+
*/
|
|
25
|
+
enum BUSINESS {
|
|
26
|
+
BUSINESS_INIT = 0, /**< 建立初始账户 */
|
|
27
|
+
BUSINESS_BUY = 1, /**< 买入 */
|
|
28
|
+
BUSINESS_SELL = 2, /**< 卖出 */
|
|
29
|
+
BUSINESS_GIFT = 3, /**< 送股 */
|
|
30
|
+
BUSINESS_BONUS = 4, /**< 分红 */
|
|
31
|
+
BUSINESS_CHECKIN = 5, /**< 存入现金 */
|
|
32
|
+
BUSINESS_CHECKOUT = 6, /**< 取出现金 */
|
|
33
|
+
BUSINESS_CHECKIN_STOCK = 7, /**< 存入股票资产 */
|
|
34
|
+
BUSINESS_CHECKOUT_STOCK = 8, /**< 取出股票资产 */
|
|
35
|
+
BUSINESS_BORROW_CASH = 9, /**< 借入资金 */
|
|
36
|
+
BUSINESS_RETURN_CASH = 10, /**< 归还资金 */
|
|
37
|
+
BUSINESS_BORROW_STOCK = 11, /**< 借入股票资产 */
|
|
38
|
+
BUSINESS_RETURN_STOCK = 12, /**< 归还股票资产 */
|
|
39
|
+
BUSINESS_SELL_SHORT = 13, /**< 卖空 */
|
|
40
|
+
BUSINESS_BUY_SHORT = 14, /**< 卖空后回补 */
|
|
41
|
+
BUSINESS_INVALID = 15 /**< 无效类型 */
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* 获取业务名称,用于打印输出
|
|
46
|
+
* @ingroup TradeManagerClass
|
|
47
|
+
*/
|
|
48
|
+
string HKU_API getBusinessName(BUSINESS);
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* 根据字符串获取相应的BUSINESS枚举值
|
|
52
|
+
*/
|
|
53
|
+
BUSINESS HKU_API getBusinessEnum(const string&);
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* 交易记录
|
|
57
|
+
* @ingroup TradeManagerClass
|
|
58
|
+
*/
|
|
59
|
+
class HKU_API TradeRecord {
|
|
60
|
+
public:
|
|
61
|
+
TradeRecord();
|
|
62
|
+
TradeRecord(const Stock& stock, const Datetime& datetime, BUSINESS business, price_t planPrice,
|
|
63
|
+
price_t realPrice, price_t goalPrice, double number, const CostRecord& cost,
|
|
64
|
+
price_t stoploss, price_t cash, SystemPart from);
|
|
65
|
+
|
|
66
|
+
/** 仅用于python的__str__ */
|
|
67
|
+
string toString() const;
|
|
68
|
+
|
|
69
|
+
bool isNull() const;
|
|
70
|
+
|
|
71
|
+
Stock stock; ///< 交易对象
|
|
72
|
+
Datetime datetime; ///< 交易日期
|
|
73
|
+
BUSINESS business; ///< 业务类型
|
|
74
|
+
price_t planPrice; ///< 计划交易价格
|
|
75
|
+
price_t realPrice; ///< 实际交易价格
|
|
76
|
+
price_t goalPrice; ///< 目标价位,如果为0或Null表示未限定目标
|
|
77
|
+
double number; ///< 成交数量
|
|
78
|
+
CostRecord cost; ///< 交易成本
|
|
79
|
+
price_t stoploss; ///< 止损价
|
|
80
|
+
price_t cash; ///< 现金余额
|
|
81
|
+
SystemPart from; ///< 辅助记录交易系统部件,区别是哪个部件发出的指示,Null<int>()表示无效
|
|
82
|
+
|
|
83
|
+
#if HKU_SUPPORT_SERIALIZATION
|
|
84
|
+
private:
|
|
85
|
+
friend class boost::serialization::access;
|
|
86
|
+
template <class Archive>
|
|
87
|
+
void save(Archive& ar, const unsigned int version) const {
|
|
88
|
+
namespace bs = boost::serialization;
|
|
89
|
+
ar& BOOST_SERIALIZATION_NVP(stock);
|
|
90
|
+
hku::uint64_t date_number = datetime.number();
|
|
91
|
+
ar& bs::make_nvp("datetime", date_number);
|
|
92
|
+
string business_name = getBusinessName(business);
|
|
93
|
+
ar& bs::make_nvp<string>("business", business_name);
|
|
94
|
+
ar& BOOST_SERIALIZATION_NVP(planPrice);
|
|
95
|
+
ar& BOOST_SERIALIZATION_NVP(realPrice);
|
|
96
|
+
ar& BOOST_SERIALIZATION_NVP(goalPrice);
|
|
97
|
+
ar& BOOST_SERIALIZATION_NVP(number);
|
|
98
|
+
ar& BOOST_SERIALIZATION_NVP(cost);
|
|
99
|
+
ar& BOOST_SERIALIZATION_NVP(stoploss);
|
|
100
|
+
ar& BOOST_SERIALIZATION_NVP(cash);
|
|
101
|
+
string part_name(getSystemPartName(from));
|
|
102
|
+
ar& bs::make_nvp<string>("from", part_name);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
template <class Archive>
|
|
106
|
+
void load(Archive& ar, const unsigned int version) {
|
|
107
|
+
namespace bs = boost::serialization;
|
|
108
|
+
ar& BOOST_SERIALIZATION_NVP(stock);
|
|
109
|
+
hku::uint64_t date_number;
|
|
110
|
+
ar& bs::make_nvp("datetime", date_number);
|
|
111
|
+
datetime = Datetime(date_number);
|
|
112
|
+
string business_name;
|
|
113
|
+
ar& bs::make_nvp<string>("business", business_name);
|
|
114
|
+
business = getBusinessEnum(business_name);
|
|
115
|
+
ar& BOOST_SERIALIZATION_NVP(planPrice);
|
|
116
|
+
ar& BOOST_SERIALIZATION_NVP(realPrice);
|
|
117
|
+
ar& BOOST_SERIALIZATION_NVP(goalPrice);
|
|
118
|
+
ar& BOOST_SERIALIZATION_NVP(number);
|
|
119
|
+
ar& BOOST_SERIALIZATION_NVP(cost);
|
|
120
|
+
ar& BOOST_SERIALIZATION_NVP(stoploss);
|
|
121
|
+
ar& BOOST_SERIALIZATION_NVP(cash);
|
|
122
|
+
string part_name;
|
|
123
|
+
ar& bs::make_nvp<string>("from", part_name);
|
|
124
|
+
from = getSystemPartEnum(part_name);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
BOOST_SERIALIZATION_SPLIT_MEMBER()
|
|
128
|
+
#endif
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* @ingroup TradeManagerClass
|
|
133
|
+
*/
|
|
134
|
+
typedef vector<TradeRecord> TradeRecordList;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* 输出TradeRecord信息
|
|
138
|
+
* @ingroup TradeManagerClass
|
|
139
|
+
*/
|
|
140
|
+
HKU_API std::ostream& operator<<(std::ostream&, const TradeRecord&);
|
|
141
|
+
|
|
142
|
+
bool HKU_API operator==(const TradeRecord& d1, const TradeRecord& d2);
|
|
143
|
+
|
|
144
|
+
} /* namespace hku */
|
|
145
|
+
|
|
146
|
+
#if FMT_VERSION >= 90000
|
|
147
|
+
template <>
|
|
148
|
+
struct fmt::formatter<hku::TradeRecord> : ostream_formatter {};
|
|
149
|
+
#endif
|
|
150
|
+
|
|
151
|
+
#endif /* TRADERECORD_H_ */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* build_in.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-2-14
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADE_MANAGE_BUILD_IN_H_
|
|
10
|
+
#define TRADE_MANAGE_BUILD_IN_H_
|
|
11
|
+
|
|
12
|
+
#include "crt/crtTM.h"
|
|
13
|
+
#include "crt/TC_TestStub.h"
|
|
14
|
+
#include "crt/TC_Zero.h"
|
|
15
|
+
#include "crt/TC_FixedA.h"
|
|
16
|
+
#include "crt/TC_FixedA2015.h"
|
|
17
|
+
#include "crt/TC_FixedA2017.h"
|
|
18
|
+
|
|
19
|
+
#endif /* TRADE_MANAGE_BUILD_IN_H_ */
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* TC_FixedA.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-2-14
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef CRTFIXEDATC_H_
|
|
10
|
+
#define CRTFIXEDATC_H_
|
|
11
|
+
|
|
12
|
+
#include "../TradeCostBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 沪深A股交易成本算法,计算每次买入或卖出的成本
|
|
18
|
+
* @details
|
|
19
|
+
* <pre>
|
|
20
|
+
* 计算规则为:
|
|
21
|
+
* 1)上证交易所
|
|
22
|
+
* 买入:佣金+过户费
|
|
23
|
+
* 卖出:佣金+过户费+印花税
|
|
24
|
+
* 2)深证交易所:
|
|
25
|
+
* 买入:佣金
|
|
26
|
+
* 卖出:佣金+印花税
|
|
27
|
+
* 其中:佣金和过户费均有最低值,当前佣金比例为千分之1.8(最低5元),印花税为千分之一
|
|
28
|
+
* 上证过户费为交易数量的千分之一,不足1元,按一元计
|
|
29
|
+
* </pre>
|
|
30
|
+
*
|
|
31
|
+
* @param commission 佣金比例,默认千分之1.8,即0.0018
|
|
32
|
+
* @param lowestCommission 最低佣金值,默认5元
|
|
33
|
+
* @param stamptax 印花税,默认千分之一,即0.001
|
|
34
|
+
* @param transferfee 过户费,默认每股千分之一,即0.001
|
|
35
|
+
* @param lowestTransferfee 最低过户费,默认1元
|
|
36
|
+
* @see FixedATradeCost
|
|
37
|
+
* @ingroup TradeCost
|
|
38
|
+
*/
|
|
39
|
+
TradeCostPtr HKU_API TC_FixedA(price_t commission = 0.0018, price_t lowestCommission = 5.0,
|
|
40
|
+
price_t stamptax = 0.001, price_t transferfee = 0.001,
|
|
41
|
+
price_t lowestTransferfee = 1.0);
|
|
42
|
+
|
|
43
|
+
} // namespace hku
|
|
44
|
+
|
|
45
|
+
#endif /* CRTFIXEDATC_H_ */
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* TC_FixedA2015.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2016年5月4日
|
|
5
|
+
* Author: Administrator
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADE_MANAGE_CRT_TC_FIXEDA2015_H_
|
|
10
|
+
#define TRADE_MANAGE_CRT_TC_FIXEDA2015_H_
|
|
11
|
+
|
|
12
|
+
#include "../TradeCostBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 2015年8月1日后沪深A股交易成本算法,计算每次买入或卖出的成本
|
|
18
|
+
* @details
|
|
19
|
+
* <pre>
|
|
20
|
+
* 计算规则为:
|
|
21
|
+
* 1)上证交易所
|
|
22
|
+
* 买入:佣金+过户费
|
|
23
|
+
* 卖出:佣金+过户费+印花税
|
|
24
|
+
* 2)深证交易所:
|
|
25
|
+
* 买入:佣金
|
|
26
|
+
* 卖出:佣金+印花税
|
|
27
|
+
* 其中:当前佣金比例为千分之1.8(最低5元),印花税为千分之一
|
|
28
|
+
* 2015年后上证过户费为成交金额的0.00002
|
|
29
|
+
* </pre>
|
|
30
|
+
*
|
|
31
|
+
* @param commission 佣金比例,默认千分之1.8,即0.0018
|
|
32
|
+
* @param lowestCommission 最低佣金值,默认5元
|
|
33
|
+
* @param stamptax 印花税,默认千分之一,即0.001
|
|
34
|
+
* @param transferfee 过户费,默认千分之0.2,即0.00002
|
|
35
|
+
* @see FixedATradeCost
|
|
36
|
+
* @ingroup TradeCost
|
|
37
|
+
*/
|
|
38
|
+
TradeCostPtr HKU_API TC_FixedA2015(price_t commission = 0.0018, price_t lowestCommission = 5.0,
|
|
39
|
+
price_t stamptax = 0.001, price_t transferfee = 0.00002);
|
|
40
|
+
|
|
41
|
+
} // namespace hku
|
|
42
|
+
|
|
43
|
+
#endif /* TRADE_MANAGE_CRT_TC_FIXEDA2015_H_ */
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* TC_FixedA2015.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2016年5月4日
|
|
5
|
+
* Author: Administrator
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADE_MANAGE_CRT_TC_FIXEDA2017_H_
|
|
10
|
+
#define TRADE_MANAGE_CRT_TC_FIXEDA2017_H_
|
|
11
|
+
|
|
12
|
+
#include "../TradeCostBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 2015年8月1日后沪深A股交易成本算法,计算每次买入或卖出的成本
|
|
18
|
+
* 2017年1月1日后深市也开始收取过户费
|
|
19
|
+
* @details
|
|
20
|
+
* <pre>
|
|
21
|
+
* 计算规则为:
|
|
22
|
+
* 1)上证交易所
|
|
23
|
+
* 买入:佣金+过户费
|
|
24
|
+
* 卖出:佣金+过户费+印花税
|
|
25
|
+
* 2)深证交易所:
|
|
26
|
+
* 买入:佣金
|
|
27
|
+
* 卖出:佣金+印花税
|
|
28
|
+
* 其中:当前佣金比例为千分之1.8(最低5元),印花税为千分之一
|
|
29
|
+
* 2015年后上证过户费为成交金额的0.00002
|
|
30
|
+
* </pre>
|
|
31
|
+
*
|
|
32
|
+
* @param commission 佣金比例,默认千分之1.8,即0.0018
|
|
33
|
+
* @param lowestCommission 最低佣金值,默认5元
|
|
34
|
+
* @param stamptax 印花税,默认千分之一,即0.001
|
|
35
|
+
* @param transferfee 过户费,默认千分之0.2,即0.00002
|
|
36
|
+
* @see FixedATradeCost
|
|
37
|
+
* @ingroup TradeCost
|
|
38
|
+
*/
|
|
39
|
+
TradeCostPtr HKU_API TC_FixedA2017(price_t commission = 0.0018, price_t lowestCommission = 5.0,
|
|
40
|
+
price_t stamptax = 0.001, price_t transferfee = 0.00002);
|
|
41
|
+
|
|
42
|
+
} // namespace hku
|
|
43
|
+
|
|
44
|
+
#endif /* TRADE_MANAGE_CRT_TC_FIXEDA2015_H_ */
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* TC_TestStub.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-5-9
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TESTSTUB_TC_H_
|
|
10
|
+
#define TESTSTUB_TC_H_
|
|
11
|
+
|
|
12
|
+
#include "../TradeCostBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/* 仅用于测试 */
|
|
17
|
+
HKU_API TradeCostPtr TC_TestStub();
|
|
18
|
+
|
|
19
|
+
} // namespace hku
|
|
20
|
+
|
|
21
|
+
#endif /* TESTSTUB_TC_H_ */
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* TC_Zero.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-2-14
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef CRTZEROTC_H_
|
|
10
|
+
#define CRTZEROTC_H_
|
|
11
|
+
|
|
12
|
+
#include "../TradeCostBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 创建零成本算法实例
|
|
18
|
+
* @see ZeroTradeCost
|
|
19
|
+
* @ingroup TradeCost
|
|
20
|
+
*/
|
|
21
|
+
TradeCostPtr HKU_API TC_Zero();
|
|
22
|
+
|
|
23
|
+
} // namespace hku
|
|
24
|
+
|
|
25
|
+
#endif /* CRTZEROTC_H_ */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* crtTM.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-2-26
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef CRTTM_H_
|
|
10
|
+
#define CRTTM_H_
|
|
11
|
+
|
|
12
|
+
#include "../TradeManager.h"
|
|
13
|
+
#include "TC_Zero.h"
|
|
14
|
+
|
|
15
|
+
namespace hku {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* 创建交易管理模块,管理帐户的交易记录及资金使用情况
|
|
19
|
+
* @details 考虑的移滑价差需要使用当日的最高或最低价,所以不在该模块内进行处理
|
|
20
|
+
* @ingroup TradeManagerClass
|
|
21
|
+
* @param datetime 账户建立日期, 默认1990-1-1
|
|
22
|
+
* @param initcash 初始现金,默认100000
|
|
23
|
+
* @param costfunc 交易成本算法,默认零成本算法
|
|
24
|
+
* @param name 账户名称,默认“SYS”
|
|
25
|
+
* @see TradeManager
|
|
26
|
+
*/
|
|
27
|
+
TradeManagerPtr HKU_API crtTM(const Datetime& datetime = Datetime(199001010000LL),
|
|
28
|
+
price_t initcash = 100000.0, const TradeCostPtr& costfunc = TC_Zero(),
|
|
29
|
+
const string& name = "SYS");
|
|
30
|
+
|
|
31
|
+
} // namespace hku
|
|
32
|
+
|
|
33
|
+
#endif /* CRTTM_H_ */
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AShareTradeCost.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2016年5月4日
|
|
5
|
+
* Author: Administrator
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADE_MANAGE_IMP_FIXEDA2015TRADECOST_H_
|
|
10
|
+
#define TRADE_MANAGE_IMP_FIXEDA2015TRADECOST_H_
|
|
11
|
+
|
|
12
|
+
#include "../TradeCostBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
class FixedA2015TradeCost : public TradeCostBase {
|
|
17
|
+
TRADE_COST_NO_PRIVATE_MEMBER_SERIALIZATION
|
|
18
|
+
|
|
19
|
+
public:
|
|
20
|
+
FixedA2015TradeCost();
|
|
21
|
+
virtual ~FixedA2015TradeCost();
|
|
22
|
+
|
|
23
|
+
virtual void _checkParam(const string& name) const override;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 计算买入成本
|
|
27
|
+
* @param datetime 交易日期
|
|
28
|
+
* @param stock 交易的证券对象
|
|
29
|
+
* @param price 买入价格
|
|
30
|
+
* @param num 买入数量
|
|
31
|
+
* @return CostRecord 交易成本记录
|
|
32
|
+
*/
|
|
33
|
+
virtual CostRecord getBuyCost(const Datetime& datetime, const Stock& stock, price_t price,
|
|
34
|
+
double num) const override;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* 计算卖出成本
|
|
38
|
+
* @param datetime 交易日期
|
|
39
|
+
* @param stock 交易的证券对象
|
|
40
|
+
* @param price 卖出价格
|
|
41
|
+
* @param num 卖出数量
|
|
42
|
+
* @return CostRecord 交易成本记录
|
|
43
|
+
*/
|
|
44
|
+
virtual CostRecord getSellCost(const Datetime& datetime, const Stock& stock, price_t price,
|
|
45
|
+
double num) const override;
|
|
46
|
+
|
|
47
|
+
/** 子类私有变量克隆接口 */
|
|
48
|
+
virtual TradeCostPtr _clone() override;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
} /* namespace hku */
|
|
52
|
+
|
|
53
|
+
#endif /* TRADE_MANAGE_IMP_FIXEDA2015TRADECOST_H_ */
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AShareTradeCost.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2018年4月11日
|
|
5
|
+
* Author: Administrator
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADE_MANAGE_IMP_FIXEDA2017TRADECOST_H_
|
|
10
|
+
#define TRADE_MANAGE_IMP_FIXEDA2017TRADECOST_H_
|
|
11
|
+
|
|
12
|
+
#include "../TradeCostBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/*
|
|
17
|
+
* 2017年1月1日起将对深市过户费项目单独列示,标准为成交金额0.02‰双向收取。
|
|
18
|
+
*/
|
|
19
|
+
class FixedA2017TradeCost : public TradeCostBase {
|
|
20
|
+
TRADE_COST_NO_PRIVATE_MEMBER_SERIALIZATION
|
|
21
|
+
|
|
22
|
+
public:
|
|
23
|
+
FixedA2017TradeCost();
|
|
24
|
+
virtual ~FixedA2017TradeCost();
|
|
25
|
+
|
|
26
|
+
virtual void _checkParam(const string& name) const override;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* 计算买入成本
|
|
30
|
+
* @param datetime 交易日期
|
|
31
|
+
* @param stock 交易的证券对象
|
|
32
|
+
* @param price 买入价格
|
|
33
|
+
* @param num 买入数量
|
|
34
|
+
* @return CostRecord 交易成本记录
|
|
35
|
+
*/
|
|
36
|
+
virtual CostRecord getBuyCost(const Datetime& datetime, const Stock& stock, price_t price,
|
|
37
|
+
double num) const override;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* 计算卖出成本
|
|
41
|
+
* @param datetime 交易日期
|
|
42
|
+
* @param stock 交易的证券对象
|
|
43
|
+
* @param price 卖出价格
|
|
44
|
+
* @param num 卖出数量
|
|
45
|
+
* @return CostRecord 交易成本记录
|
|
46
|
+
*/
|
|
47
|
+
virtual CostRecord getSellCost(const Datetime& datetime, const Stock& stock, price_t price,
|
|
48
|
+
double num) const override;
|
|
49
|
+
|
|
50
|
+
/** 子类私有变量克隆接口 */
|
|
51
|
+
virtual TradeCostPtr _clone() override;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
} /* namespace hku */
|
|
55
|
+
|
|
56
|
+
#endif /* TRADE_MANAGE_IMP_FIXEDA2017TRADECOST_H_ */
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* FixedATradeCost.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-2-14
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef FIXEDATRADECOST_H_
|
|
10
|
+
#define FIXEDATRADECOST_H_
|
|
11
|
+
|
|
12
|
+
#include "../TradeCostBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 沪深A股交易成本算法,计算每次买入或卖出的成本
|
|
18
|
+
* @details
|
|
19
|
+
* <pre>
|
|
20
|
+
* 计算规则为:
|
|
21
|
+
* 1)上证交易所
|
|
22
|
+
* 买入:佣金+过户费
|
|
23
|
+
* 卖出:佣金+过户费+印花税
|
|
24
|
+
* 2)深证交易所:
|
|
25
|
+
* 买入:佣金
|
|
26
|
+
* 卖出:佣金+印花税
|
|
27
|
+
* 其中:佣金和过户费均有最低值,当前佣金比例为千分之1.8(最低5元),印花税为千分之一
|
|
28
|
+
* 上证过户费为交易数量的千分之一,不足1元,按一元计
|
|
29
|
+
* </pre>
|
|
30
|
+
*/
|
|
31
|
+
class HKU_API FixedATradeCost : public TradeCostBase {
|
|
32
|
+
TRADE_COST_NO_PRIVATE_MEMBER_SERIALIZATION
|
|
33
|
+
|
|
34
|
+
public:
|
|
35
|
+
/**
|
|
36
|
+
* 默认构造函数,同时设置默认参数值
|
|
37
|
+
* @details
|
|
38
|
+
* <pre>
|
|
39
|
+
* 佣金比例,默认千分之1.8,即0.0018
|
|
40
|
+
* 最低佣金值,默认5元
|
|
41
|
+
* 印花税,默认千分之一,即0.001
|
|
42
|
+
* 过户费,默认每股千分之一,即0.001
|
|
43
|
+
* 最低过户费,默认1元
|
|
44
|
+
* </pre>
|
|
45
|
+
*/
|
|
46
|
+
FixedATradeCost();
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* @param commission 佣金比例
|
|
50
|
+
* @param lowestCommission 最低佣金值
|
|
51
|
+
* @param stamptax 印花税
|
|
52
|
+
* @param transferfee 过户费
|
|
53
|
+
* @param lowestTransferfee 最低过户费
|
|
54
|
+
*/
|
|
55
|
+
FixedATradeCost(price_t commission, price_t lowestCommission, price_t stamptax,
|
|
56
|
+
price_t transferfee, price_t lowestTransferfee);
|
|
57
|
+
virtual ~FixedATradeCost();
|
|
58
|
+
|
|
59
|
+
virtual void _checkParam(const string& name) const override;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* 计算买入成本
|
|
63
|
+
* @param datetime 交易日期
|
|
64
|
+
* @param stock 交易的证券对象
|
|
65
|
+
* @param price 买入价格
|
|
66
|
+
* @param num 买入数量
|
|
67
|
+
* @return CostRecord 交易成本记录
|
|
68
|
+
*/
|
|
69
|
+
virtual CostRecord getBuyCost(const Datetime& datetime, const Stock& stock, price_t price,
|
|
70
|
+
double num) const override;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* 计算卖出成本
|
|
74
|
+
* @param datetime 交易日期
|
|
75
|
+
* @param stock 交易的证券对象
|
|
76
|
+
* @param price 卖出价格
|
|
77
|
+
* @param num 卖出数量
|
|
78
|
+
* @return CostRecord 交易成本记录
|
|
79
|
+
*/
|
|
80
|
+
virtual CostRecord getSellCost(const Datetime& datetime, const Stock& stock, price_t price,
|
|
81
|
+
double num) const override;
|
|
82
|
+
|
|
83
|
+
/** 子类私有变量克隆接口 */
|
|
84
|
+
virtual TradeCostPtr _clone() override;
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
} /* namespace hku */
|
|
88
|
+
#endif /* FIXEDATRADECOST_H_ */
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* TradeCostStub.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-5-9
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRADECOSTSTUB_H_
|
|
10
|
+
#define TRADECOSTSTUB_H_
|
|
11
|
+
|
|
12
|
+
#include "../TradeCostBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
class HKU_API TradeCostStub : public TradeCostBase {
|
|
17
|
+
TRADE_COST_NO_PRIVATE_MEMBER_SERIALIZATION
|
|
18
|
+
|
|
19
|
+
public:
|
|
20
|
+
TradeCostStub();
|
|
21
|
+
|
|
22
|
+
virtual ~TradeCostStub();
|
|
23
|
+
|
|
24
|
+
virtual CostRecord getBuyCost(const Datetime& datetime, const Stock& stock, price_t price,
|
|
25
|
+
double num) const override;
|
|
26
|
+
|
|
27
|
+
virtual CostRecord getSellCost(const Datetime& datetime, const Stock& stock, price_t price,
|
|
28
|
+
double num) const override;
|
|
29
|
+
|
|
30
|
+
virtual CostRecord getBorrowCashCost(const Datetime& datetime, price_t cash) const override;
|
|
31
|
+
|
|
32
|
+
virtual CostRecord getReturnCashCost(const Datetime& borrow_datetime,
|
|
33
|
+
const Datetime& return_datetime,
|
|
34
|
+
price_t cash) const override;
|
|
35
|
+
|
|
36
|
+
virtual CostRecord getBorrowStockCost(const Datetime& datetime, const Stock& stock,
|
|
37
|
+
price_t price, double num) const override;
|
|
38
|
+
|
|
39
|
+
virtual CostRecord getReturnStockCost(const Datetime& borrow_datetime,
|
|
40
|
+
const Datetime& return_datetime, const Stock& stock,
|
|
41
|
+
price_t price, double num) const override;
|
|
42
|
+
|
|
43
|
+
/** 子类私有变量克隆接口 */
|
|
44
|
+
virtual TradeCostPtr _clone() override;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
} /* namespace hku */
|
|
48
|
+
#endif /* TRADECOSTSTUB_H_ */
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ZeroTradeCost.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-3-3
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef ZEROTRADECOST_H_
|
|
10
|
+
#define ZEROTRADECOST_H_
|
|
11
|
+
|
|
12
|
+
#include "../TradeCostBase.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
class HKU_API ZeroTradeCost : public TradeCostBase {
|
|
17
|
+
TRADE_COST_NO_PRIVATE_MEMBER_SERIALIZATION
|
|
18
|
+
|
|
19
|
+
public:
|
|
20
|
+
ZeroTradeCost();
|
|
21
|
+
virtual ~ZeroTradeCost();
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 计算买入成本
|
|
25
|
+
* @param datetime 交易日期
|
|
26
|
+
* @param stock 交易的证券对象
|
|
27
|
+
* @param price 买入价格
|
|
28
|
+
* @param num 买入数量
|
|
29
|
+
* @return CostRecord 交易成本记录
|
|
30
|
+
*/
|
|
31
|
+
virtual CostRecord getBuyCost(const Datetime& datetime, const Stock& stock, price_t price,
|
|
32
|
+
double num) const override;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* 计算卖出成本
|
|
36
|
+
* @param datetime 交易日期
|
|
37
|
+
* @param stock 交易的证券对象
|
|
38
|
+
* @param price 卖出价格
|
|
39
|
+
* @param num 卖出数量
|
|
40
|
+
* @return CostRecord 交易成本记录
|
|
41
|
+
*/
|
|
42
|
+
virtual CostRecord getSellCost(const Datetime& datetime, const Stock& stock, price_t price,
|
|
43
|
+
double num) const override;
|
|
44
|
+
|
|
45
|
+
/** 子类私有变量克隆接口 */
|
|
46
|
+
virtual TradeCostPtr _clone() override;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
} /* namespace hku */
|
|
50
|
+
#endif /* ZEROTRADECOST_H_ */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|