diff --git "a/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\345\237\272\344\272\216QAMARKET\347\232\204\345\233\236\346\265\213/backtest.py" "b/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\345\237\272\344\272\216QAMARKET\347\232\204\345\233\236\346\265\213/backtest.py" index c5d306ba3..41f268be4 100755 --- "a/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\345\237\272\344\272\216QAMARKET\347\232\204\345\233\236\346\265\213/backtest.py" +++ "b/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\345\237\272\344\272\216QAMARKET\347\232\204\345\233\236\346\265\213/backtest.py" @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git "a/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\345\244\232\345\255\243\345\272\246\351\200\211\350\202\241\346\213\251\346\227\266\345\233\236\346\265\213.py" "b/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\345\244\232\345\255\243\345\272\246\351\200\211\350\202\241\346\213\251\346\227\266\345\233\236\346\265\213.py" index 55f4cb22e..e356cc4b0 100755 --- "a/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\345\244\232\345\255\243\345\272\246\351\200\211\350\202\241\346\213\251\346\227\266\345\233\236\346\265\213.py" +++ "b/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\345\244\232\345\255\243\345\272\246\351\200\211\350\202\241\346\213\251\346\227\266\345\233\236\346\265\213.py" @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git "a/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\347\256\200\346\230\223\345\233\236\346\265\213/simplebacktest.py" "b/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\347\256\200\346\230\223\345\233\236\346\265\213/simplebacktest.py" index 1b4c25e48..2b9d234f6 100755 --- "a/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\347\256\200\346\230\223\345\233\236\346\265\213/simplebacktest.py" +++ "b/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\347\256\200\346\230\223\345\233\236\346\265\213/simplebacktest.py" @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git "a/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\350\266\205\347\272\247\347\256\200\345\214\226\347\211\210\345\233\236\346\265\213/simplebacktest.py" "b/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\350\266\205\347\272\247\347\256\200\345\214\226\347\211\210\345\233\236\346\265\213/simplebacktest.py" index 7643b8110..f75fb0d9a 100755 --- "a/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\350\266\205\347\272\247\347\256\200\345\214\226\347\211\210\345\233\236\346\265\213/simplebacktest.py" +++ "b/EXAMPLE/4_\345\233\236\346\265\213\345\256\236\347\233\230\344\272\244\346\230\223/\345\233\236\346\265\213/\350\202\241\347\245\250\345\233\236\346\265\213/\350\266\205\347\272\247\347\256\200\345\214\226\347\211\210\345\233\236\346\265\213/simplebacktest.py" @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/EXAMPLE/test_backtest/backtest_debug.py b/EXAMPLE/test_backtest/backtest_debug.py index cebd622c8..7cccbac5c 100755 --- a/EXAMPLE/test_backtest/backtest_debug.py +++ b/EXAMPLE/test_backtest/backtest_debug.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/LICENSE b/LICENSE index f75688cf9..645d4f0b6 100755 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2016-2018 yutiansut/QUANTAXIS +Copyright (c) 2016-2019 yutiansut/QUANTAXIS Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAARP/QAAccount.py b/QUANTAXIS/QAARP/QAAccount.py index 68707c12d..3cf4e90e6 100755 --- a/QUANTAXIS/QAARP/QAAccount.py +++ b/QUANTAXIS/QAARP/QAAccount.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAARP/QAAccountPro.py b/QUANTAXIS/QAARP/QAAccountPro.py index 0b4d2ea82..2402731b6 100755 --- a/QUANTAXIS/QAARP/QAAccountPro.py +++ b/QUANTAXIS/QAARP/QAAccountPro.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAARP/QAPortfolio.py b/QUANTAXIS/QAARP/QAPortfolio.py index bf15fb3d0..c0d20fefb 100755 --- a/QUANTAXIS/QAARP/QAPortfolio.py +++ b/QUANTAXIS/QAARP/QAPortfolio.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAARP/QARisk.py b/QUANTAXIS/QAARP/QARisk.py index c1f8b2866..da386abb4 100755 --- a/QUANTAXIS/QAARP/QARisk.py +++ b/QUANTAXIS/QAARP/QARisk.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAARP/QAStrategy.py b/QUANTAXIS/QAARP/QAStrategy.py index 40c379d24..1ec872e0c 100755 --- a/QUANTAXIS/QAARP/QAStrategy.py +++ b/QUANTAXIS/QAARP/QAStrategy.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAARP/QAUser.py b/QUANTAXIS/QAARP/QAUser.py index c70daa254..426949b52 100755 --- a/QUANTAXIS/QAARP/QAUser.py +++ b/QUANTAXIS/QAARP/QAUser.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAARP/__init__.py b/QUANTAXIS/QAARP/__init__.py index c318c4188..341f1e99a 100755 --- a/QUANTAXIS/QAARP/__init__.py +++ b/QUANTAXIS/QAARP/__init__.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAAnalysis/QAAnalysis_dataframe.py b/QUANTAXIS/QAAnalysis/QAAnalysis_dataframe.py index aaa5bc092..b4d2a87f1 100755 --- a/QUANTAXIS/QAAnalysis/QAAnalysis_dataframe.py +++ b/QUANTAXIS/QAAnalysis/QAAnalysis_dataframe.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAAnalysis/QAAnalysis_machinelearning.py b/QUANTAXIS/QAAnalysis/QAAnalysis_machinelearning.py index c28dce5a4..b00a4c1a4 100755 --- a/QUANTAXIS/QAAnalysis/QAAnalysis_machinelearning.py +++ b/QUANTAXIS/QAAnalysis/QAAnalysis_machinelearning.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAAnalysis/QAAnalysis_series.py b/QUANTAXIS/QAAnalysis/QAAnalysis_series.py index 236af08b7..8d4319a2a 100755 --- a/QUANTAXIS/QAAnalysis/QAAnalysis_series.py +++ b/QUANTAXIS/QAAnalysis/QAAnalysis_series.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAAnalysis/QAAnalysis_tick.py b/QUANTAXIS/QAAnalysis/QAAnalysis_tick.py index 61255bfbb..acb4052ba 100755 --- a/QUANTAXIS/QAAnalysis/QAAnalysis_tick.py +++ b/QUANTAXIS/QAAnalysis/QAAnalysis_tick.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAAnalysis/QAAnalysis_trade.py b/QUANTAXIS/QAAnalysis/QAAnalysis_trade.py index 699502c2e..e5d753266 100755 --- a/QUANTAXIS/QAAnalysis/QAAnalysis_trade.py +++ b/QUANTAXIS/QAAnalysis/QAAnalysis_trade.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAAnalysis/__init__.py b/QUANTAXIS/QAAnalysis/__init__.py index a626f5fa2..8240bd1c1 100755 --- a/QUANTAXIS/QAAnalysis/__init__.py +++ b/QUANTAXIS/QAAnalysis/__init__.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAApplication/QAAnalysis.py b/QUANTAXIS/QAApplication/QAAnalysis.py index 61ac89582..b53fdbfe8 100755 --- a/QUANTAXIS/QAApplication/QAAnalysis.py +++ b/QUANTAXIS/QAApplication/QAAnalysis.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAApplication/QABacktest.py b/QUANTAXIS/QAApplication/QABacktest.py index 8ed7c5227..2209b5340 100755 --- a/QUANTAXIS/QAApplication/QABacktest.py +++ b/QUANTAXIS/QAApplication/QABacktest.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAApplication/QAResult.py b/QUANTAXIS/QAApplication/QAResult.py index 41d70b1bb..a7aab0dce 100755 --- a/QUANTAXIS/QAApplication/QAResult.py +++ b/QUANTAXIS/QAApplication/QAResult.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAApplication/QATradeRealtime.py b/QUANTAXIS/QAApplication/QATradeRealtime.py index f8bb2a4d9..a9d703894 100755 --- a/QUANTAXIS/QAApplication/QATradeRealtime.py +++ b/QUANTAXIS/QAApplication/QATradeRealtime.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAApplication/__init__.py b/QUANTAXIS/QAApplication/__init__.py index 14bfd3819..532f10b64 100755 --- a/QUANTAXIS/QAApplication/__init__.py +++ b/QUANTAXIS/QAApplication/__init__.py @@ -1,7 +1,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAApplication/backtest_setting.py b/QUANTAXIS/QAApplication/backtest_setting.py index f9b06cfb6..6aaba153e 100755 --- a/QUANTAXIS/QAApplication/backtest_setting.py +++ b/QUANTAXIS/QAApplication/backtest_setting.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QACmd/__init__.py b/QUANTAXIS/QACmd/__init__.py index 3e47eaff3..04d8f9345 100755 --- a/QUANTAXIS/QACmd/__init__.py +++ b/QUANTAXIS/QACmd/__init__.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAData/QABlockStruct.py b/QUANTAXIS/QAData/QABlockStruct.py index fe127a55b..8008ea23e 100755 --- a/QUANTAXIS/QAData/QABlockStruct.py +++ b/QUANTAXIS/QAData/QABlockStruct.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAData/QADataStruct.py b/QUANTAXIS/QAData/QADataStruct.py index a3a907c18..9c5ab6838 100755 --- a/QUANTAXIS/QAData/QADataStruct.py +++ b/QUANTAXIS/QAData/QADataStruct.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -43,13 +43,14 @@ import numpy as np import pandas as pd try: - from pyecharts import Kline + from pyecharts import Kline except: - from pyecharts.charts import Kline + from pyecharts.charts import Kline from QUANTAXIS.QAData.base_datastruct import _quotation_base from QUANTAXIS.QAData.data_fq import QA_data_stock_to_fq -from QUANTAXIS.QAData.data_resample import QA_data_tick_resample, QA_data_day_resample, QA_data_min_resample +from QUANTAXIS.QAData.data_resample import (QA_data_tick_resample, QA_data_day_resample, + QA_data_min_resample, QA_data_futuremin_resample) from QUANTAXIS.QAIndicator import EMA, HHV, LLV, SMA from QUANTAXIS.QAUtil import (DATABASE, QA_util_log_info, QA_util_random_with_topic, @@ -440,7 +441,7 @@ def __repr__(self): def resample(self, level): try: - return self.add_func(QA_data_min_resample, level).sort_index() + return self.add_funcx(QA_data_futuremin_resample, level).sort_index() except Exception as e: print('QA ERROR : FAIL TO RESAMPLE {}'.format(e)) return None diff --git a/QUANTAXIS/QAData/QAFinancialStruct.py b/QUANTAXIS/QAData/QAFinancialStruct.py index 9a55d3c8b..a115ebff7 100755 --- a/QUANTAXIS/QAData/QAFinancialStruct.py +++ b/QUANTAXIS/QAData/QAFinancialStruct.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAData/QAIndicatorStruct.py b/QUANTAXIS/QAData/QAIndicatorStruct.py index 30882080e..1e8e97cef 100755 --- a/QUANTAXIS/QAData/QAIndicatorStruct.py +++ b/QUANTAXIS/QAData/QAIndicatorStruct.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAData/QASeriesStruct.py b/QUANTAXIS/QAData/QASeriesStruct.py index 59ad75ab0..ee36bf629 100755 --- a/QUANTAXIS/QAData/QASeriesStruct.py +++ b/QUANTAXIS/QAData/QASeriesStruct.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAData/__init__.py b/QUANTAXIS/QAData/__init__.py index 61d1c717b..c79e730f5 100755 --- a/QUANTAXIS/QAData/__init__.py +++ b/QUANTAXIS/QAData/__init__.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAData/base_datastruct.py b/QUANTAXIS/QAData/base_datastruct.py index ffca406d9..85b3d713b 100755 --- a/QUANTAXIS/QAData/base_datastruct.py +++ b/QUANTAXIS/QAData/base_datastruct.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -35,9 +35,9 @@ import pandas as pd try: - from pyecharts import Kline, Bar, Grid + from pyecharts import Kline, Bar, Grid except: - from pyecharts.charts import Kline, Bar, Grid + from pyecharts.charts import Kline, Bar, Grid from QUANTAXIS.QAUtil import ( QA_util_log_info, @@ -66,7 +66,8 @@ def __init__( DataFrame, dtype='undefined', if_fq='bfq', - marketdata_type='None' + marketdata_type='None', + frequence=None ): ''' :param df: DataFrame 类型 @@ -88,7 +89,7 @@ def __init__( self.type = dtype self.data_id = QA_util_random_with_topic('DATA', lens=3) - + self.frequence = frequence # 默认是不复权 self.if_fq = if_fq # dtype 参数 指定类 mongo 中 collection 的名字 , @@ -461,7 +462,7 @@ def price_diff(self): def pvariance(self): '返回DataStruct.price的方差 variance' res = self.price.groupby(level=1 - ).apply(lambda x: statistics.pvariance(x)) + ).apply(lambda x: statistics.pvariance(x)) res.name = 'pvariance' return res @@ -471,7 +472,7 @@ def pvariance(self): def variance(self): '返回DataStruct.price的方差 variance' res = self.price.groupby(level=1 - ).apply(lambda x: statistics.variance(x)) + ).apply(lambda x: statistics.variance(x)) res.name = 'variance' return res @@ -517,7 +518,7 @@ def pstdev(self): def mean_harmonic(self): '返回DataStruct.price的调和平均数' res = self.price.groupby(level=1 - ).apply(lambda x: statistics.harmonic_mean(x)) + ).apply(lambda x: statistics.harmonic_mean(x)) res.name = 'mean_harmonic' return res @@ -528,7 +529,7 @@ def mode(self): '返回DataStruct.price的众数' try: res = self.price.groupby(level=1 - ).apply(lambda x: statistics.mode(x)) + ).apply(lambda x: statistics.mode(x)) res.name = 'mode' return res except: @@ -574,7 +575,7 @@ def pct_change(self): res = self.price.groupby(level=1).apply(lambda x: x.pct_change()) res.name = 'pct_change' return res - + @lru_cache() def close_pct_change(self): '返回DataStruct.close的百分比变化' @@ -970,10 +971,10 @@ def to_json(self): """ 转换DataStruct为json """ - + data = self.data if self.type[-3:] != 'min': - data = self.data.assign(datetime= self.datetime) + data = self.data.assign(datetime=self.datetime) return QA_util_to_json_from_pandas(data.reset_index()) def to_string(self): @@ -1042,6 +1043,15 @@ def add_func(self, func, *arg, **kwargs): return self.groupby(level=1, sort=False).apply(func, *arg, **kwargs) + def add_funcx(self, func, *arg, **kwargs): + """QADATASTRUCT的指标/函数apply入口 + + add_funcx 和add_func 的区别是: + + add_funcx 会先 reset_index 变成单索引(pd.DatetimeIndex) + """ + + return self.groupby(level=1, sort=False).apply(lambda x: func(x.reset_index(1), *arg, **kwargs)) # def add_func_adv(self, func, *arg, **kwargs): # """QADATASTRUCT的指标/函数apply入口 diff --git a/QUANTAXIS/QAData/data_fq.py b/QUANTAXIS/QAData/data_fq.py index 1031ee89b..5007725ed 100755 --- a/QUANTAXIS/QAData/data_fq.py +++ b/QUANTAXIS/QAData/data_fq.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAData/data_marketvalue.py b/QUANTAXIS/QAData/data_marketvalue.py index 2fdd77d2b..6e7457ee9 100755 --- a/QUANTAXIS/QAData/data_marketvalue.py +++ b/QUANTAXIS/QAData/data_marketvalue.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAData/data_resample.py b/QUANTAXIS/QAData/data_resample.py index 6be172102..60bd6a6ef 100755 --- a/QUANTAXIS/QAData/data_resample.py +++ b/QUANTAXIS/QAData/data_resample.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -23,8 +23,9 @@ # SOFTWARE. from datetime import time - +from QUANTAXIS.QAUtil.QAParameter import EXCHANGE_ID import pandas as pd +import numpy as np def QA_data_tick_resample_1min(tick, type_='1min', if_drop=True): @@ -53,14 +54,14 @@ def QA_data_tick_resample_1min(tick, type_='1min', if_drop=True): closed='left', base=30, loffset=type_ - ).apply( + ).apply( { 'price': 'ohlc', 'vol': 'sum', 'code': 'last', 'amount': 'sum' } - ) + ) _data1.columns = _data1.columns.droplevel(0) # do fix on the first and last bar # 某些股票某些日期没有集合竞价信息,譬如 002468 在 2017 年 6 月 5 日的数据 @@ -147,14 +148,14 @@ def QA_data_tick_resample_1min(tick, type_='1min', if_drop=True): closed='left', base=30, loffset=type_ - ).apply( + ).apply( { 'price': 'ohlc', 'vol': 'sum', 'code': 'last', 'amount': 'sum' } - ) + ) _data2.columns = _data2.columns.droplevel(0) # 沪市股票在 2018-08-20 起,尾盘 3 分钟集合竞价 @@ -223,14 +224,14 @@ def QA_data_tick_resample(tick, type_='1min'): closed='right', base=30, loffset=type_ - ).apply( + ).apply( { 'price': 'ohlc', 'vol': 'sum', 'code': 'last', 'amount': 'sum' } - ) + ) _data2 = _data[time(13, 1):time(15, @@ -238,14 +239,14 @@ def QA_data_tick_resample(tick, type_='1min'): type_, closed='right', loffset=type_ - ).apply( + ).apply( { 'price': 'ohlc', 'vol': 'sum', 'code': 'last', 'amount': 'sum' } - ) + ) resx = resx.append(_data1).append(_data2) resx.columns = resx.columns.droplevel(0) @@ -282,14 +283,14 @@ def QA_data_ctptick_resample(tick, type_='1min'): closed='right', base=30, loffset=type_ - ).apply( + ).apply( { 'LastPrice': 'ohlc', 'volume': 'sum', 'code': 'last', 'amount': 'sum' } - ) + ) _data1 = _data[time(9, 0):time(11, @@ -298,14 +299,14 @@ def QA_data_ctptick_resample(tick, type_='1min'): closed='right', base=30, loffset=type_ - ).apply( + ).apply( { 'LastPrice': 'ohlc', 'volume': 'sum', 'code': 'last', 'amount': 'sum' } - ) + ) _data2 = _data[time(13, 1):time(15, @@ -314,14 +315,14 @@ def QA_data_ctptick_resample(tick, type_='1min'): closed='right', base=30, loffset=type_ - ).apply( + ).apply( { 'LastPrice': 'ohlc', 'volume': 'sum', 'code': 'last', 'amount': 'sum' } - ) + ) _data3 = _data[time(21, 0):time(23, @@ -329,14 +330,14 @@ def QA_data_ctptick_resample(tick, type_='1min'): type_, closed='left', loffset=type_ - ).apply( + ).apply( { 'LastPrice': 'ohlc', 'volume': 'sum', 'code': 'last', 'amount': 'sum' } - ) + ) resx = resx.append(_data0).append(_data1).append(_data2).append(_data3) resx.columns = resx.columns.droplevel(0) @@ -462,7 +463,7 @@ def QA_data_min_resample_stock(min_data, period=5): return res.reset_index().set_index(["datetime", "code"]).sort_index() -def QA_data_futuremin_resample(min_data, type_='5min'): +def QA_data_futuremin_resample(min_data, type_='5min', exchange_id=EXCHANGE_ID.SHFE): """期货分钟线采样成大周期 @@ -472,26 +473,83 @@ def QA_data_futuremin_resample(min_data, type_='5min'): vol ==> trade amount X - """ - min_data.tradeime = pd.to_datetime(min_data.tradetime) + 期货一般两种模式: + + 中金所 股指期货: 9:30 - 11:30/ 13:00 -15:00 + + 其他期货: -1 21:00: 2:30 / 9:00 - 11:30 / 13:30-15:00 + (builtins.sum, "sum"), + (builtins.max, "max"), + (builtins.min, "min"), + (np.all, "all"), + (np.any, "any"), + (np.sum, "sum"), + (np.nansum, "sum"), + (np.mean, "mean"), + (np.nanmean, "mean"), + (np.prod, "prod"), + (np.nanprod, "prod"), + (np.std, "std"), + (np.nanstd, "std"), + (np.var, "var"), + (np.nanvar, "var"), + (np.median, "median"), + (np.nanmedian, "median"), + (np.max, "max"), + (np.nanmax, "max"), + (np.min, "min"), + (np.nanmin, "min"), + (np.cumprod, "cumprod"), + (np.nancumprod, "cumprod"), + (np.cumsum, "cumsum"), + (np.nancumsum, "cumsum"), + """ CONVERSION = { 'code': 'first', 'open': 'first', 'high': 'max', 'low': 'min', 'close': 'last', - 'trade': 'sum', 'tradetime': 'last', - 'date': 'last' - } - resx = min_data.resample( - type_, - closed='right', - loffset=type_ - ).apply(CONVERSION) - return resx.dropna().reset_index().set_index(['datetime', 'code']) + 'position': 'last', + 'volume': 'sum'} + min_data = min_data.loc[:, list(CONVERSION.keys())] + idx = min_data.index + if exchange_id == EXCHANGE_ID.CFFEX: + part_1 = min_data.iloc[idx.indexer_between_time('9:30', '11:30')] + part_1_res = part_1.resample( + type_, + base=30, + closed='right', + loffset=type_ + ).apply(CONVERSION) + part_2 = min_data.iloc[idx.indexer_between_time('13:00', '15:00')] + part_2_res = part_2.resample( + type_, + base=0, + closed='right', + loffset=type_ + ).agg(CONVERSION) + return pd.concat([part_1_res, part_2_res]).dropna().sort_index().reset_index().set_index(['datetime', 'code']) + else: + part_1 = min_data.iloc[np.append(idx.indexer_between_time( + '0:00', '11:30'), idx.indexer_between_time('0:00', '11:30'))] + part_1_res = part_1.resample( + type_, + base=0, + closed='right', + loffset=type_ + ).apply(CONVERSION) + part_2 = min_data.iloc[idx.indexer_between_time('13:30', '15:00')] + part_2_res = part_2.resample( + type_, + base=30, + closed='right', + loffset=type_ + ).agg(CONVERSION) + return pd.concat([part_1_res, part_2_res]).dropna().sort_index().reset_index().set_index(['datetime', 'code']) def QA_data_day_resample(day_data, type_='w'): @@ -556,5 +614,6 @@ def QA_data_day_resample(day_data, type_='w'): data = QA.QA_fetch_stock_min_adv("000001", start, end) res = QA_data_min_resample_stock(data.data, level) print(res) - res2 = QA.QA_fetch_stock_min_adv(["000001", '000002'], start, end).add_func(QA_data_min_resample_stock, level) + res2 = QA.QA_fetch_stock_min_adv(["000001", '000002'], start, end).add_func( + QA_data_min_resample_stock, level) print(res2) diff --git a/QUANTAXIS/QAData/dsmethods.py b/QUANTAXIS/QAData/dsmethods.py index fcd92cd16..916760270 100755 --- a/QUANTAXIS/QAData/dsmethods.py +++ b/QUANTAXIS/QAData/dsmethods.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAData/serialize.py b/QUANTAXIS/QAData/serialize.py index db1b6bc24..d1dd7f5be 100755 --- a/QUANTAXIS/QAData/serialize.py +++ b/QUANTAXIS/QAData/serialize.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAEngine/QAEvent.py b/QUANTAXIS/QAEngine/QAEvent.py index d581f0693..4520d8819 100755 --- a/QUANTAXIS/QAEngine/QAEvent.py +++ b/QUANTAXIS/QAEngine/QAEvent.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAEngine/QATask.py b/QUANTAXIS/QAEngine/QATask.py index 5447c46f1..ea57b1364 100755 --- a/QUANTAXIS/QAEngine/QATask.py +++ b/QUANTAXIS/QAEngine/QATask.py @@ -1,7 +1,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAEngine/QAThreadEngine.py b/QUANTAXIS/QAEngine/QAThreadEngine.py index 91f6be448..ff06e05c2 100755 --- a/QUANTAXIS/QAEngine/QAThreadEngine.py +++ b/QUANTAXIS/QAEngine/QAThreadEngine.py @@ -2,7 +2,7 @@ # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAEngine/__init__.py b/QUANTAXIS/QAEngine/__init__.py index dbc1a5763..ed2ffba8d 100755 --- a/QUANTAXIS/QAEngine/__init__.py +++ b/QUANTAXIS/QAEngine/__init__.py @@ -1,7 +1,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/Fetcher.py b/QUANTAXIS/QAFetch/Fetcher.py index 031bf9e41..6b09e9f11 100755 --- a/QUANTAXIS/QAFetch/Fetcher.py +++ b/QUANTAXIS/QAFetch/Fetcher.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/QACrawler.py b/QUANTAXIS/QAFetch/QACrawler.py index a3a8927f7..06499b72c 100755 --- a/QUANTAXIS/QAFetch/QACrawler.py +++ b/QUANTAXIS/QAFetch/QACrawler.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/QAEastMoney.py b/QUANTAXIS/QAFetch/QAEastMoney.py index dd1669d76..d41e89bfb 100755 --- a/QUANTAXIS/QAFetch/QAEastMoney.py +++ b/QUANTAXIS/QAFetch/QAEastMoney.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/QAQUANTAXISWEB.py b/QUANTAXIS/QAFetch/QAQUANTAXISWEB.py index cca3f89dc..f23483457 100755 --- a/QUANTAXIS/QAFetch/QAQUANTAXISWEB.py +++ b/QUANTAXIS/QAFetch/QAQUANTAXISWEB.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/QAQuery.py b/QUANTAXIS/QAFetch/QAQuery.py index 3e7ecb8a2..76ac4ecad 100755 --- a/QUANTAXIS/QAFetch/QAQuery.py +++ b/QUANTAXIS/QAFetch/QAQuery.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/QAQuery_Advance.py b/QUANTAXIS/QAFetch/QAQuery_Advance.py index 1cd876add..d8286b545 100755 --- a/QUANTAXIS/QAFetch/QAQuery_Advance.py +++ b/QUANTAXIS/QAFetch/QAQuery_Advance.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/QAQuery_Async.py b/QUANTAXIS/QAFetch/QAQuery_Async.py index 97310c240..171bfe57a 100755 --- a/QUANTAXIS/QAFetch/QAQuery_Async.py +++ b/QUANTAXIS/QAFetch/QAQuery_Async.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/QATdx.py b/QUANTAXIS/QAFetch/QATdx.py index a5496f553..489031ac9 100755 --- a/QUANTAXIS/QAFetch/QATdx.py +++ b/QUANTAXIS/QAFetch/QATdx.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/QATdx_adv.py b/QUANTAXIS/QAFetch/QATdx_adv.py index 7030d2adc..f022cfc5d 100755 --- a/QUANTAXIS/QAFetch/QATdx_adv.py +++ b/QUANTAXIS/QAFetch/QATdx_adv.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/QAThs.py b/QUANTAXIS/QAFetch/QAThs.py index 90f2269ed..eb0a521d7 100755 --- a/QUANTAXIS/QAFetch/QAThs.py +++ b/QUANTAXIS/QAFetch/QAThs.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/QATradeFile.py b/QUANTAXIS/QAFetch/QATradeFile.py index 084e704b4..a81040253 100755 --- a/QUANTAXIS/QAFetch/QATradeFile.py +++ b/QUANTAXIS/QAFetch/QATradeFile.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/QATushare.py b/QUANTAXIS/QAFetch/QATushare.py index 174137d54..f697ba182 100755 --- a/QUANTAXIS/QAFetch/QATushare.py +++ b/QUANTAXIS/QAFetch/QATushare.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/QAWind.py b/QUANTAXIS/QAFetch/QAWind.py index 80243df5a..f0fb8b15d 100755 --- a/QUANTAXIS/QAFetch/QAWind.py +++ b/QUANTAXIS/QAFetch/QAWind.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/QAfinancial.py b/QUANTAXIS/QAFetch/QAfinancial.py index 0284a8be5..558a17391 100755 --- a/QUANTAXIS/QAFetch/QAfinancial.py +++ b/QUANTAXIS/QAFetch/QAfinancial.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/__init__.py b/QUANTAXIS/QAFetch/__init__.py index 266b3f0a9..390b337fb 100755 --- a/QUANTAXIS/QAFetch/__init__.py +++ b/QUANTAXIS/QAFetch/__init__.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/base.py b/QUANTAXIS/QAFetch/base.py index b0bb87e28..a306796f0 100755 --- a/QUANTAXIS/QAFetch/base.py +++ b/QUANTAXIS/QAFetch/base.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/data_list.py b/QUANTAXIS/QAFetch/data_list.py index 8e92706d7..53859def6 100755 --- a/QUANTAXIS/QAFetch/data_list.py +++ b/QUANTAXIS/QAFetch/data_list.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAFetch/realtime.py b/QUANTAXIS/QAFetch/realtime.py index 4b499cffb..49e8b1211 100755 --- a/QUANTAXIS/QAFetch/realtime.py +++ b/QUANTAXIS/QAFetch/realtime.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAIndicator/__init__.py b/QUANTAXIS/QAIndicator/__init__.py index 2f6aa29be..de1a2f324 100755 --- a/QUANTAXIS/QAIndicator/__init__.py +++ b/QUANTAXIS/QAIndicator/__init__.py @@ -1,7 +1,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAIndicator/base.py b/QUANTAXIS/QAIndicator/base.py index e82eb547f..90a91e13c 100755 --- a/QUANTAXIS/QAIndicator/base.py +++ b/QUANTAXIS/QAIndicator/base.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAIndicator/indicators.py b/QUANTAXIS/QAIndicator/indicators.py index cacdaa2a3..892870e93 100755 --- a/QUANTAXIS/QAIndicator/indicators.py +++ b/QUANTAXIS/QAIndicator/indicators.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAIndicator/talib_indicators.py b/QUANTAXIS/QAIndicator/talib_indicators.py index d01b7abf7..dbb32a106 100755 --- a/QUANTAXIS/QAIndicator/talib_indicators.py +++ b/QUANTAXIS/QAIndicator/talib_indicators.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAIndicator/talib_series.py b/QUANTAXIS/QAIndicator/talib_series.py index c368143d1..6a063949e 100755 --- a/QUANTAXIS/QAIndicator/talib_series.py +++ b/QUANTAXIS/QAIndicator/talib_series.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAMarket/QAAtBroker.py b/QUANTAXIS/QAMarket/QAAtBroker.py index 10a5e0426..f19482466 100755 --- a/QUANTAXIS/QAMarket/QAAtBroker.py +++ b/QUANTAXIS/QAMarket/QAAtBroker.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAMarket/QABacktestBroker.py b/QUANTAXIS/QAMarket/QABacktestBroker.py index 6a660bee2..6d4e5d310 100755 --- a/QUANTAXIS/QAMarket/QABacktestBroker.py +++ b/QUANTAXIS/QAMarket/QABacktestBroker.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAMarket/QABroker.py b/QUANTAXIS/QAMarket/QABroker.py index be069c560..6eec10738 100755 --- a/QUANTAXIS/QAMarket/QABroker.py +++ b/QUANTAXIS/QAMarket/QABroker.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAMarket/QADealer.py b/QUANTAXIS/QAMarket/QADealer.py index 3480c8df1..565c6cdc7 100755 --- a/QUANTAXIS/QAMarket/QADealer.py +++ b/QUANTAXIS/QAMarket/QADealer.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAMarket/QAMarket.py b/QUANTAXIS/QAMarket/QAMarket.py index e7f090be9..66333912f 100755 --- a/QUANTAXIS/QAMarket/QAMarket.py +++ b/QUANTAXIS/QAMarket/QAMarket.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAMarket/QAOrder.py b/QUANTAXIS/QAMarket/QAOrder.py index 2aefd44b3..1bc78a8d4 100755 --- a/QUANTAXIS/QAMarket/QAOrder.py +++ b/QUANTAXIS/QAMarket/QAOrder.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAMarket/QAOrder.pyx b/QUANTAXIS/QAMarket/QAOrder.pyx index c78a2f4c3..be0181570 100755 --- a/QUANTAXIS/QAMarket/QAOrder.pyx +++ b/QUANTAXIS/QAMarket/QAOrder.pyx @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAMarket/QAOrderHandler.py b/QUANTAXIS/QAMarket/QAOrderHandler.py index 782f5824f..403b4383d 100755 --- a/QUANTAXIS/QAMarket/QAOrderHandler.py +++ b/QUANTAXIS/QAMarket/QAOrderHandler.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAMarket/QAOrderHandler_async.py b/QUANTAXIS/QAMarket/QAOrderHandler_async.py index 8bf5ce0b9..d3638c6bb 100755 --- a/QUANTAXIS/QAMarket/QAOrderHandler_async.py +++ b/QUANTAXIS/QAMarket/QAOrderHandler_async.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAMarket/QARandomBroker.py b/QUANTAXIS/QAMarket/QARandomBroker.py index a681d7d5b..9d42d583d 100755 --- a/QUANTAXIS/QAMarket/QARandomBroker.py +++ b/QUANTAXIS/QAMarket/QARandomBroker.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAMarket/QARealBroker.py b/QUANTAXIS/QAMarket/QARealBroker.py index 75af45b24..e98429f0a 100755 --- a/QUANTAXIS/QAMarket/QARealBroker.py +++ b/QUANTAXIS/QAMarket/QARealBroker.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAMarket/QASimulatedBroker.py b/QUANTAXIS/QAMarket/QASimulatedBroker.py index 7aafb992e..4da0c3a13 100755 --- a/QUANTAXIS/QAMarket/QASimulatedBroker.py +++ b/QUANTAXIS/QAMarket/QASimulatedBroker.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAMarket/QATrade.py b/QUANTAXIS/QAMarket/QATrade.py index d2f684b06..4754a4d82 100755 --- a/QUANTAXIS/QAMarket/QATrade.py +++ b/QUANTAXIS/QAMarket/QATrade.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAMarket/__init__.py b/QUANTAXIS/QAMarket/__init__.py index f4cbfea06..70d5d7c5f 100755 --- a/QUANTAXIS/QAMarket/__init__.py +++ b/QUANTAXIS/QAMarket/__init__.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASU/__init__.py b/QUANTAXIS/QASU/__init__.py index d69f7c4d3..05e8428b9 100755 --- a/QUANTAXIS/QASU/__init__.py +++ b/QUANTAXIS/QASU/__init__.py @@ -1,7 +1,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASU/main.py b/QUANTAXIS/QASU/main.py index e7824c471..7e2847a02 100755 --- a/QUANTAXIS/QASU/main.py +++ b/QUANTAXIS/QASU/main.py @@ -1,7 +1,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASU/save_account.py b/QUANTAXIS/QASU/save_account.py index abebc8f16..5ffcbc6da 100755 --- a/QUANTAXIS/QASU/save_account.py +++ b/QUANTAXIS/QASU/save_account.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASU/save_backtest.py b/QUANTAXIS/QASU/save_backtest.py index 7bf08906a..9ec1ca79f 100755 --- a/QUANTAXIS/QASU/save_backtest.py +++ b/QUANTAXIS/QASU/save_backtest.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASU/save_financialfiles.py b/QUANTAXIS/QASU/save_financialfiles.py index cc76f7eaf..e141a5927 100755 --- a/QUANTAXIS/QASU/save_financialfiles.py +++ b/QUANTAXIS/QASU/save_financialfiles.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASU/save_orderhandler.py b/QUANTAXIS/QASU/save_orderhandler.py index ce9610efe..7c0428fa7 100755 --- a/QUANTAXIS/QASU/save_orderhandler.py +++ b/QUANTAXIS/QASU/save_orderhandler.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASU/save_strategy.py b/QUANTAXIS/QASU/save_strategy.py index f0885d2f3..bea53829e 100755 --- a/QUANTAXIS/QASU/save_strategy.py +++ b/QUANTAXIS/QASU/save_strategy.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASU/save_tdx.py b/QUANTAXIS/QASU/save_tdx.py index cf6684e53..67e5b9323 100755 --- a/QUANTAXIS/QASU/save_tdx.py +++ b/QUANTAXIS/QASU/save_tdx.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASU/save_tdx_file.py b/QUANTAXIS/QASU/save_tdx_file.py index 5151953ad..f043231c1 100755 --- a/QUANTAXIS/QASU/save_tdx_file.py +++ b/QUANTAXIS/QASU/save_tdx_file.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASU/save_tdx_parallelism.py b/QUANTAXIS/QASU/save_tdx_parallelism.py index 49264e277..7e7a0f18b 100755 --- a/QUANTAXIS/QASU/save_tdx_parallelism.py +++ b/QUANTAXIS/QASU/save_tdx_parallelism.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASU/save_tushare.py b/QUANTAXIS/QASU/save_tushare.py index 16ec34a3e..bb80ed654 100755 --- a/QUANTAXIS/QASU/save_tushare.py +++ b/QUANTAXIS/QASU/save_tushare.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASU/save_tusharepro_pg.py b/QUANTAXIS/QASU/save_tusharepro_pg.py index 256c3bc0d..1e254ccb2 100755 --- a/QUANTAXIS/QASU/save_tusharepro_pg.py +++ b/QUANTAXIS/QASU/save_tusharepro_pg.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASU/user.py b/QUANTAXIS/QASU/user.py index 8ccdb9a2b..a2ec63c93 100755 --- a/QUANTAXIS/QASU/user.py +++ b/QUANTAXIS/QASU/user.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASelector/multilevel.py b/QUANTAXIS/QASelector/multilevel.py new file mode 100644 index 000000000..0ec8c4920 --- /dev/null +++ b/QUANTAXIS/QASelector/multilevel.py @@ -0,0 +1,47 @@ +# coding:utf-8 +# +# The MIT License (MIT) +# +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +from QUANTAXIS.QAUtil.QAParameter import FREQUENCE + + +class QA_MultiLevel(self): + def __ini__(self, data): + self.data = data + self.level_data = { + FREQUENCE.TICK: None, + FREQUENCE.REALTIME_MIN: None + FREQUENCE.REALTIME: None, + FREQUENCE.ONE_MIN: None, + FREQUENCE.FIVE_MIN: None, + FREQUENCE.FIFTEEN_MIN: None, + FREQUENCE.THIRTY_MIN: None, + FREQUENCE.HOUR: None, + FREQUENCE.DAY: None, + FREQUENCE.WEEK: None, + FREQUENCE.MONTH: None, + FREQUENCE.YEAR: None + } + + def resample(self): + pass diff --git a/QUANTAXIS/QASetting/cache.py b/QUANTAXIS/QASetting/cache.py index faf0b2f8f..80193ca78 100755 --- a/QUANTAXIS/QASetting/cache.py +++ b/QUANTAXIS/QASetting/cache.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QASetting/executor.py b/QUANTAXIS/QASetting/executor.py index 5997c2d5c..3e5e8b805 100755 --- a/QUANTAXIS/QASetting/executor.py +++ b/QUANTAXIS/QASetting/executor.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/Parallelism.py b/QUANTAXIS/QAUtil/Parallelism.py index 34cff5be4..c9920ba6a 100755 --- a/QUANTAXIS/QAUtil/Parallelism.py +++ b/QUANTAXIS/QAUtil/Parallelism.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QAAuth.py b/QUANTAXIS/QAUtil/QAAuth.py index aad750eba..3eeee97b5 100755 --- a/QUANTAXIS/QAUtil/QAAuth.py +++ b/QUANTAXIS/QAUtil/QAAuth.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QABar.py b/QUANTAXIS/QAUtil/QABar.py index 65c8acf0f..ccccbe79c 100755 --- a/QUANTAXIS/QAUtil/QABar.py +++ b/QUANTAXIS/QAUtil/QABar.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QACfg.py b/QUANTAXIS/QAUtil/QACfg.py index 7536fb840..fd4821830 100755 --- a/QUANTAXIS/QAUtil/QACfg.py +++ b/QUANTAXIS/QAUtil/QACfg.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QACode.py b/QUANTAXIS/QAUtil/QACode.py index 45bf7f757..7f441c89f 100755 --- a/QUANTAXIS/QAUtil/QACode.py +++ b/QUANTAXIS/QAUtil/QACode.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QACsv.py b/QUANTAXIS/QAUtil/QACsv.py index fa350b3ae..2388a900e 100755 --- a/QUANTAXIS/QAUtil/QACsv.py +++ b/QUANTAXIS/QAUtil/QACsv.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QADate.py b/QUANTAXIS/QAUtil/QADate.py index cb3478ab4..da256d59d 100755 --- a/QUANTAXIS/QAUtil/QADate.py +++ b/QUANTAXIS/QAUtil/QADate.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QADate_trade.py b/QUANTAXIS/QAUtil/QADate_trade.py index 286b22fab..75f895f45 100755 --- a/QUANTAXIS/QAUtil/QADate_trade.py +++ b/QUANTAXIS/QAUtil/QADate_trade.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QADict.py b/QUANTAXIS/QAUtil/QADict.py index fff3f9453..5c80903ea 100755 --- a/QUANTAXIS/QAUtil/QADict.py +++ b/QUANTAXIS/QAUtil/QADict.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QAError.py b/QUANTAXIS/QAUtil/QAError.py index 64f9863a3..75fd33f76 100755 --- a/QUANTAXIS/QAUtil/QAError.py +++ b/QUANTAXIS/QAUtil/QAError.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QAList.py b/QUANTAXIS/QAUtil/QAList.py index 3a563682b..84094abd4 100755 --- a/QUANTAXIS/QAUtil/QAList.py +++ b/QUANTAXIS/QAUtil/QAList.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QALogs.py b/QUANTAXIS/QAUtil/QALogs.py index 7fe600663..b45a44025 100755 --- a/QUANTAXIS/QAUtil/QALogs.py +++ b/QUANTAXIS/QAUtil/QALogs.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QAMail.py b/QUANTAXIS/QAUtil/QAMail.py index efc97a1e2..40b621e8c 100755 --- a/QUANTAXIS/QAUtil/QAMail.py +++ b/QUANTAXIS/QAUtil/QAMail.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QAMongo.py b/QUANTAXIS/QAUtil/QAMongo.py index f0ab1f56f..3548ce688 100755 --- a/QUANTAXIS/QAUtil/QAMongo.py +++ b/QUANTAXIS/QAUtil/QAMongo.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QAParameter.py b/QUANTAXIS/QAUtil/QAParameter.py index 957afc78f..a47acd889 100755 --- a/QUANTAXIS/QAUtil/QAParameter.py +++ b/QUANTAXIS/QAUtil/QAParameter.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -53,18 +53,20 @@ class ORDER_DIRECTION(): XDXR = 5 OTHER = 6 + class TIME_CONDITION(): - IOC = 'IOC' # 立即完成,否则撤销 - GFS = 'GFS' # 本节有效 - GFD = 'GFD' # 当日有效 - GTD = 'GTD' # 指定日期前有效 - GTC = 'GTC' # 撤销前有效 - GFA = 'GFA' # 集合竞价有效 + IOC = 'IOC' # 立即完成,否则撤销 + GFS = 'GFS' # 本节有效 + GFD = 'GFD' # 当日有效 + GTD = 'GTD' # 指定日期前有效 + GTC = 'GTC' # 撤销前有效 + GFA = 'GFA' # 集合竞价有效 + class VOLUME_CONDITION(): - ANY = 'ANY' # 任意数量 - MIN = 'MIN' # 最小数量 - ALL = 'ALL' # 全部数量 + ANY = 'ANY' # 任意数量 + MIN = 'MIN' # 最小数量 + ALL = 'ALL' # 全部数量 class EXCHANGE_ID(): @@ -91,6 +93,7 @@ class OFFSET(): REVERSE = 'REVERSE' + class ORDER_MODEL(): """订单的成交模式 @@ -342,7 +345,23 @@ class ORDER_EVENT(): class FREQUENCE(): """查询的级别 - [description] + YEAR = 'year' # 年bar + QUARTER = 'quarter' # 季度bar + MONTH = 'month' # 月bar + WEEK = 'week' # 周bar + DAY = 'day' # 日bar + ONE_MIN = '1min' # 1min bar + FIVE_MIN = '5min' # 5min bar + FIFTEEN_MIN = '15min' # 15min bar + THIRTY_MIN = '30min' # 30min bar + HOUR = '60min' # 60min bar + SIXTY_MIN = '60min' # 60min bar + TICK = 'tick' # transaction + ASKBID = 'askbid' # 上下五档/一档 + REALTIME_MIN = 'realtime_min' # 实时分钟线 + LATEST = 'latest' # 当前bar/latest + + 2019/08/06 @yutiansut """ YEAR = 'year' # 年bar @@ -356,9 +375,10 @@ class FREQUENCE(): THIRTY_MIN = '30min' # 30min bar HOUR = '60min' # 60min bar SIXTY_MIN = '60min' # 60min bar - CURRENT = 'current' # 当前bar TICK = 'tick' # transaction - REALTIME = 'realtime' # 上下五档/一档 + ASKBID = 'askbid' # 上下五档/一档 + REALTIME_MIN = 'realtime_min' # 实时分钟线 + LATEST = 'latest' # 当前bar/latest class CURRENCY_TYPE(): @@ -418,6 +438,7 @@ class RUNNING_STATUS(): STOPED = 500 DROPED = 600 + DATABASE_TABLE = { (MARKET_TYPE.STOCK_CN, FREQUENCE.DAY): 'stock_day', (MARKET_TYPE.STOCK_CN, FREQUENCE.ONE_MIN): 'stock_min', diff --git a/QUANTAXIS/QAUtil/QAParameter.pyx b/QUANTAXIS/QAUtil/QAParameter.pyx index 489ebbc42..50855a4dd 100755 --- a/QUANTAXIS/QAUtil/QAParameter.pyx +++ b/QUANTAXIS/QAUtil/QAParameter.pyx @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -41,11 +41,10 @@ class ORDER_DIRECTION(): ASK 申购 """ - cdef public int BUY = 1 - cdef public int SELL = -1 + BUY = 1 + SELL = -1 BUY_OPEN = 2 BUY_CLOSE = 3 - BUY_CLOSE = 3 SELL_OPEN = -2 SELL_CLOSE = -3 SELL_CLOSETODAY = -4 @@ -55,6 +54,30 @@ class ORDER_DIRECTION(): OTHER = 6 +class TIME_CONDITION(): + IOC = 'IOC' # 立即完成,否则撤销 + GFS = 'GFS' # 本节有效 + GFD = 'GFD' # 当日有效 + GTD = 'GTD' # 指定日期前有效 + GTC = 'GTC' # 撤销前有效 + GFA = 'GFA' # 集合竞价有效 + + +class VOLUME_CONDITION(): + ANY = 'ANY' # 任意数量 + MIN = 'MIN' # 最小数量 + ALL = 'ALL' # 全部数量 + + +class EXCHANGE_ID(): + SSE = 'sse' # 上交所 + SZSE = 'szse' # 深交所 + SHFE = 'shfe' # 上期所 + DCE = 'dce' # 大商所 + CZCE = 'czce' # 郑商所 + CFFEX = 'cffex' # 中金所 + + class OFFSET(): """订单的开平仓属性 OPEN 股票/期货 开仓 @@ -83,12 +106,14 @@ class ORDER_MODEL(): """ LIMIT = 'LIMIT' # 限价 - ANY = 'MARKET' # 市价(otg兼容) + ANY = 'ANY' # 市价(otg兼容) MARKET = 'MARKET' # 市价/在回测里是下个bar的开盘价买入/实盘就是五档剩余最优成交价 CLOSE = 'CLOSE' # 当前bar的收盘价买入 NEXT_OPEN = 'NEXT_OPEN' # 下个bar的开盘价买入 STRICT = 'STRICT' # 严格模式/不推荐(仅限回测测试用) - BEST = 'MARKET' # 中金所 最优成交剩余转限 + BEST = 'BEST' # 中金所 最优成交剩余转限 + FIVELEVEL = 'FIVELEVEL' + class ORDER_STATUS(): """订单状态 @@ -116,9 +141,9 @@ class ORDER_STATUS(): # FAILED = 600 NEW = 'new' - SUCCESS_ALL = 'success_all' + SUCCESS_ALL = 'success_all' # == FINISHED SUCCESS_PART = 'success_part' - QUEUED = 'queued' # queued 用于表示在order_queue中 实际表达的意思是订单存活 待成交 + QUEUED = 'queued' # queued 用于表示在order_queue中 实际表达的意思是订单存活 待成交 == ALIVED CANCEL_ALL = 'cancel_all' CANCEL_PART = 'cancel_part' SETTLED = 'settled' @@ -152,7 +177,7 @@ class RUNNING_ENVIRONMENT(): TZERO = 't0' REAL = 'real' RANDOM = 'random' - TTS='tts' + TTS = 'tts' class TRADE_STATUS(): @@ -268,9 +293,13 @@ class ENGINE_EVENT(): """引擎事件""" MARKET_INIT = 'market_init' UPCOMING_DATA = 'upcoming_data' + UPCOMING_TICK = 'upcoming_tick' + UPCOMING_BAR = 'upcoming_bar' BAR_SETTLE = 'bar_settle' DAILY_SETTLE = 'daily_settle' UPDATE = 'update' + TRANSACTION = 'transaction' + ORDER = 'order' class ACCOUNT_EVENT(): @@ -309,12 +338,29 @@ class ORDER_EVENT(): CREATE = 'create' TRADE = 'trade' CANCEL = 'cancel' + FAIL = 'fail' class FREQUENCE(): """查询的级别 - [description] + YEAR = 'year' # 年bar + QUARTER = 'quarter' # 季度bar + MONTH = 'month' # 月bar + WEEK = 'week' # 周bar + DAY = 'day' # 日bar + ONE_MIN = '1min' # 1min bar + FIVE_MIN = '5min' # 5min bar + FIFTEEN_MIN = '15min' # 15min bar + THIRTY_MIN = '30min' # 30min bar + HOUR = '60min' # 60min bar + SIXTY_MIN = '60min' # 60min bar + TICK = 'tick' # transaction + ASKBID = 'askbid' # 上下五档/一档 + REALTIME_MIN = 'realtime_min' # 实时分钟线 + LATEST = 'latest' # 当前bar/latest + + 2019/08/06 @yutiansut """ YEAR = 'year' # 年bar @@ -328,9 +374,10 @@ class FREQUENCE(): THIRTY_MIN = '30min' # 30min bar HOUR = '60min' # 60min bar SIXTY_MIN = '60min' # 60min bar - CURRENT = 'current' # 当前bar TICK = 'tick' # transaction - REALTIME = 'realtime' # 上下五档/一档 + ASKBID = 'askbid' # 上下五档/一档 + REALTIME_MIN = 'realtime_min' # 实时分钟线 + LATEST = 'latest' # 当前bar/latest class CURRENCY_TYPE(): @@ -374,6 +421,23 @@ class OUTPUT_FORMAT(): JSON = 'json' +class RUNNING_STATUS(): + """运行状态 + + starting 是一个占用状态 + + 100 - 202 - 200 - 400 - 500 + """ + + PENDING = 100 + SUCCESS = 200 + STARTING = 202 + RUNNING = 300 + WRONG = 400 + STOPED = 500 + DROPED = 600 + + DATABASE_TABLE = { (MARKET_TYPE.STOCK_CN, FREQUENCE.DAY): 'stock_day', (MARKET_TYPE.STOCK_CN, FREQUENCE.ONE_MIN): 'stock_min', diff --git a/QUANTAXIS/QAUtil/QAPlot.py b/QUANTAXIS/QAUtil/QAPlot.py index 288498c1a..658198823 100755 --- a/QUANTAXIS/QAUtil/QAPlot.py +++ b/QUANTAXIS/QAUtil/QAPlot.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QARandom.py b/QUANTAXIS/QAUtil/QARandom.py index bfb4ff095..ed8d00e6e 100755 --- a/QUANTAXIS/QAUtil/QARandom.py +++ b/QUANTAXIS/QAUtil/QARandom.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QASetting.py b/QUANTAXIS/QAUtil/QASetting.py index 5a0ca27da..cd790857d 100755 --- a/QUANTAXIS/QAUtil/QASetting.py +++ b/QUANTAXIS/QAUtil/QASetting.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QASql.py b/QUANTAXIS/QAUtil/QASql.py index 480ff26e4..dfc3f5534 100755 --- a/QUANTAXIS/QAUtil/QASql.py +++ b/QUANTAXIS/QAUtil/QASql.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QAText.py b/QUANTAXIS/QAUtil/QAText.py index 80a6eb399..42554c8ec 100755 --- a/QUANTAXIS/QAUtil/QAText.py +++ b/QUANTAXIS/QAUtil/QAText.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QATransform.py b/QUANTAXIS/QAUtil/QATransform.py index 934b7d11b..08c880fef 100755 --- a/QUANTAXIS/QAUtil/QATransform.py +++ b/QUANTAXIS/QAUtil/QATransform.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/QAWebutil.py b/QUANTAXIS/QAUtil/QAWebutil.py index 8a2a75459..7ad03b6fd 100755 --- a/QUANTAXIS/QAUtil/QAWebutil.py +++ b/QUANTAXIS/QAUtil/QAWebutil.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/QAUtil/__init__.py b/QUANTAXIS/QAUtil/__init__.py index 6cf0e2f86..389e196a4 100755 --- a/QUANTAXIS/QAUtil/__init__.py +++ b/QUANTAXIS/QAUtil/__init__.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/__init__.py b/QUANTAXIS/__init__.py index 9f48ae211..60225f554 100755 --- a/QUANTAXIS/__init__.py +++ b/QUANTAXIS/__init__.py @@ -2,7 +2,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS/__main__.py b/QUANTAXIS/__main__.py index 6c3f92e08..ff1ceb321 100755 --- a/QUANTAXIS/__main__.py +++ b/QUANTAXIS/__main__.py @@ -1,7 +1,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/QUANTAXIS_Test/QAFetch_Test/Fetcher_Test.py b/QUANTAXIS_Test/QAFetch_Test/Fetcher_Test.py index 9b514d2d7..81b83d32b 100755 --- a/QUANTAXIS_Test/QAFetch_Test/Fetcher_Test.py +++ b/QUANTAXIS_Test/QAFetch_Test/Fetcher_Test.py @@ -1,7 +1,7 @@ # coding:utf-8 # # The MIT License (MIT) -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Author: 604829050@qq.com # Date: 2018-05-11 diff --git a/QUANTAXIS_Test/QAFetch_Test/QAQuery_Advance_Test.py b/QUANTAXIS_Test/QAFetch_Test/QAQuery_Advance_Test.py index e1c5c2057..98513b4f4 100755 --- a/QUANTAXIS_Test/QAFetch_Test/QAQuery_Advance_Test.py +++ b/QUANTAXIS_Test/QAFetch_Test/QAQuery_Advance_Test.py @@ -1,7 +1,7 @@ # coding:utf-8 # # The MIT License (MIT) -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Author: 604829050@qq.com # Date: 2018-05-11 diff --git a/config/update_all.py b/config/update_all.py index f8a20cdd7..e203b9e7e 100755 --- a/config/update_all.py +++ b/config/update_all.py @@ -4,7 +4,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/config/update_data.py b/config/update_data.py index 7e60229d4..785b393e0 100755 --- a/config/update_data.py +++ b/config/update_data.py @@ -4,7 +4,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/config/update_x.py b/config/update_x.py index 0663e762e..c4e322eb5 100755 --- a/config/update_x.py +++ b/config/update_x.py @@ -4,7 +4,7 @@ # # The MIT License (MIT) # -# Copyright (c) 2016-2018 yutiansut/QUANTAXIS +# Copyright (c) 2016-2019 yutiansut/QUANTAXIS # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/docker/qa-redis/Dockerfile b/docker/qa-redis/Dockerfile new file mode 100644 index 000000000..a6d0719bd --- /dev/null +++ b/docker/qa-redis/Dockerfile @@ -0,0 +1 @@ +FROM library/redis:latest