예제 #1
0
def setConfig(root=None):
    # 设置策略类
    optimize.strategyClass = DoubleMaStrategy
    # 设置缓存路径,如果不设置则不会缓存优化结果。
    optimize.root = root
    # 设置引擎参数
    optimize.engineSetting = {
        "startDate": "20181130 00:00:00",
        "endDate": "20190115 23:59:00",
        "dbName": "VnTrader_1Min_Db",
        "contract": [{
            "slippage": 0.5,
            "rate": 0.0005,
        }]
    }
    # 设置策略固定参数
    optimize.globalSetting = {
        "symbolList": ["IF88:CTP"],
        "barPeriod": 150,
    }
    # 设置策略优化参数
    optimize.paramsSetting = {
        "fastPeriod": range(5, 21, 10),
        "slowPeriod": range(30, 81, 20)
    }
    path = os.path.split(os.path.realpath(__file__))[0]
    with open(path + "//CTA_setting.json") as f:
        globalSetting = json.load(f)[0]
    optimize.globalSetting = globalSetting
    optimize.initOpt()
예제 #2
0
def setConfig(root=None):
    # 设置策略类
    optimize.strategyClass = Donchian_Strategy
    # 设置缓存路径,如果不设置则不会缓存优化结果。
    optimize.root = root
    # 设置引擎参数
    optimize.engineSetting = {
        "startDate": "20180202 10:00:00",
        "endDate": "20190225 23:00:00",
        "dbName": "VnTrader_1Min_Db",
        "contract": [{
            "slippage": 0.5,
            "rate": 5 / 10000,
        }]
    }
    # 设置策略固定参数
    optimize.globalSetting = {
        "symbolList": ["IF88:CTP"],
        "barPeriod": 150,
    }
    # 设置策略优化参数
    optimize.paramsSetting = {
        "envPeriod": range(10, 20, 2),
        "stopAtrTime": np.arange(1.5, 2.5, 0.2)
    }
    path = os.path.split(os.path.realpath(__file__))[0]
    with open(path + "//CTA_setting.json") as f:
        globalSetting = json.load(f)[0]
    optimize.globalSetting = globalSetting
    optimize.initOpt()
예제 #3
0
def setConfig(root=None):
    # 设置策略类
    optimize.strategyClass = MacdCCIStrategy
    # 设置缓存路径,如果不设置则不会缓存优化结果。
    optimize.root = root
    # 设置引擎参数
    optimize.engineSetting = {
        "startDate": "20160603 10:00:00",
        "endDate": "20190225 23:00:00",
        "dbName": "VnTrader_1Min_Db",
        "contract": [{
            "slippage": 0.1,
            "rate": 0.0005,
        }]
    }
    # 设置策略固定参数
    optimize.globalSetting = {
        "symbolList": ["IF88:CTP"],
        "barPeriod": 150,
    }
    # 设置策略优化参数
    optimize.paramsSetting = {
        "CCIshortPeriod": range(11, 31, 5),
        "CCIlongPeriod": range(31, 51, 5)
    }
    path = os.path.split(os.path.realpath(__file__))[0]
    with open(path + "//CTA_setting.json") as f:
        globalSetting = json.load(f)[0]
    optimize.globalSetting = globalSetting
    optimize.initOpt()
예제 #4
0
def setConfig(root=None):
    # 设置策略类
    optimize.strategyClass = Price_VolumeStrategy
    # 设置缓存路径,如果不设置则不会缓存优化结果。
    optimize.root = root
    # 设置引擎参数
    optimize.engineSetting = {
        "startDate": "20140101 00:00:00",
        "endDate": "20171231 23:59:00",
        "dbName": "VnTrader_1Min_Db",
        "contract": [{
            "slippage": 0.5,
            "rate": 0.0005,
        }]
    }
    # 设置策略固定参数
    optimize.globalSetting = {
        "symbolList": ["IF:CTP"],
        "barPeriod": 150,
    }
    # 设置策略优化参数
    optimize.paramsSetting = {
        "PERIOD": range(5, 31, 5),
        "STDUP": range(0.5, 3, 0.5),
        "STDDN": range(0.5, 3, 0.5)
    }
    path = os.path.split(os.path.realpath(__file__))[0]
    with open(path + "//Price_Volume_CTA_setting.json") as f:
        globalSetting = json.load(f)[0]
    optimize.globalSetting = globalSetting
    optimize.initOpt()
 def initOptimize(self, paramSetting, root=None):
     optimize.strategyClass = self.strategyClass
     optimize.engineSetting = self.engineSetting
     optimize.globalSetting = self.globalSetting
     optimize.paramsSetting = paramSetting
     optimize.root = root
     optimize.initOpt()
예제 #6
0
def setConfig(root=None):
    # 设置策略类
    optimize.strategyClass = DoubleMaStrategy
    # 设置缓存路径,如果不设置则不会缓存优化结果。
    optimize.root = root
    # 设置引擎参数
    optimize.engineSetting = {
        'dbURI': "mongodb://192.168.0.104:27017",
        "bardbName": "VnTrader_1Min_Db_contest",
        "timeRange": {
            "tradeStart": datetime(2014, 6, 1),
            "tradeEnd": datetime(2016, 6, 1),
            "historyStart": datetime(2014, 3, 1),
        },
        "contract": [{
            "slippage": 0.5,
            "rate": 0.0005,
        }]
    }
    # 设置策略固定参数
    optimize.globalSetting = {
        "symbolList": ["IF88:CTP"],
        # "barPeriod": 100,
    }
    # 设置策略优化参数
    optimize.paramsSetting = {
        "fastPeriod": range(5, 21, 5),
        "slowPeriod": range(30, 81, 20)
    }
    path = os.path.split(os.path.realpath(__file__))[0]
    with open(path + "//CTA_setting.json") as f:
        globalSetting = json.load(f)[0]
    optimize.globalSetting = globalSetting
    optimize.initOpt()
예제 #7
0
def setConfig(root=None):
    # 设置策略类
    optimize.strategyClass = SimpleStrategy
    # 设置缓存路径,如果不设置则不会缓存优化结果。
    optimize.root = root
    # 设置引擎参数
    optimize.engineSetting = {
        "timeRange": {
            "tradeStart": datetime(2014, 1, 1),
            "tradeEnd": datetime(2017, 12, 31),
            "historyStart": datetime(2013, 12, 1)
        },
        "dbURI":
        "localhost",
        "bardbName":
        "vnTrader_1Min_Db",
        "contracts": [{
            "symbol": "IF:CTP",
            "rate": 5 / 10000,  # 单边手续费 IF RB  2019,8,1  2017,12,31
            "slippage": 0.5  # 滑价
        }]
    }

    # 设置策略固定参数
    optimize.globalSetting = {
        "symbolList": ["IF:CTP"],
        "barPeriod": 150,
    }
    # 设置策略优化参数
    optimize.paramsSetting = {
        "Env_trend_period": 30,  #range(20,61,5),
        "Env_trend_value": 0.5,
        "trend_condition_period": 25,  #range(20,61,5),
        "EfficiencyRation_threshold": 0.5,
        "BOLL_MID_MA_strend": 50,  #range(35,51,5),
        "BOLL_SD_strend": 27,  #range(20,31,1),
        "BOLL_MID_MA_wtrend": 40,  #range(20,61,5),
        "BOLL_SD_wtrend": 22,  #range(20,31,1),
        "ATR_period": range(10, 31, 1),
        "ATR_threshold": range(2, 5, 1),
        "ROC_Period": 65,  #range(20,81,5),
        "ROC_MA_Period": 70,  #range(20,81,5),
        "BOLL_MID_MA_ntrend": 30,  #range(20,51,5),
        "BOLL_SD_ntrend": 24,  #range(20,31,1),
        "MA_Short_period": 50,  #range(20,121,5),
        "MA_Long_period": 60,  #range(80,121,5),
        "ntrend_Stop_Time": 6,
        "Capital": 500000,
        "lot": 0.4,
        "wlot": 0.3,
        "addTime": 1,
        "addlot": 0.1,
        "addPre": 0.03
    }
    path = os.path.split(os.path.realpath(__file__))[0]
    with open(path + "//setting.json") as f:
        globalSetting = json.load(f)[0]
    optimize.globalSetting = globalSetting
    optimize.initOpt()
예제 #8
0
def setConfig(setting=None, root=None, STRATEGYCLASS=None, ENGINESETTING= None):
    # 设置策略类
    optimize.strategyClass = STRATEGYCLASS
    # 设置缓存路径,如果不设置则不会缓存优化结果。
    optimize.root = root
    # 设置引擎参数
    optimize.engineSetting = ENGINESETTING
    # 设置策略固定参数
    with open("CTA_setting.json") as f:
        globalSettingsetting = json.load(f)[0]
    globalSettingsetting.update(ENGINESETTING)
    optimize.globalSetting = globalSettingsetting
    # 设置策略优化参数
    optimize.paramsSetting = setting
    optimize.initOpt()
예제 #9
0
def setConfig(root=None):
    # 设置策略类
    optimize.strategyClass = KMAStrategy
    # 设置缓存路径,如果不设置则不会缓存优化结果。
    optimize.root = root
    # 设置引擎参数
    optimize.engineSetting = {
        "timeRange": {
            "tradeStart": datetime(2014, 1, 1),
            "tradeEnd": datetime(2017, 12, 31),
            "historyStart": datetime(2013, 7, 1)
        },
        "dbURI": "localhost",
        "bardbName": "VnTrader_1Min_Db",
        "contracts": [{
            "symbol": symbolName,
            "slippage": 0.5,
            "rate": 0.0005
        }]
    }

    # 设置策略固定参数
    optimize.globalSetting = {
        "timeframeMap": {
            "signalPeriod": "30m"
        },
        "symbolList": [symbolName],
        "barPeriod": 200,
        "atrPeriod": 30,
        "fastPeriod": 20,
        "stopAtrTimes": 100000,
        "stopRevTimes": 100000,
        "lot": 2
    }

    # 设置策略优化参数
    optimize.paramsSetting = {
        "slowPeriod": range(30, 101, 10),
        "slowPeriod2": range(30, 181, 10),
        "channelPeriod": range(10, 101, 10)
    }

    optimize.initOpt()
예제 #10
0
def setConfig(root=None):
    # 设置策略类
    optimize.strategyClass = myStrategy
    # 设置缓存路径,如果不设置则不会缓存优化结果。
    optimize.root = root
    # 设置引擎参数
    optimize.engineSetting = {
        "timeRange": {
            "tradeStart": datetime(2014, 2, 2),
            "tradeEnd": datetime(2019, 7, 20),
            "historyStart": datetime(2013, 1, 1)
        },
        "dbURI":
        "localhost",
        "bardbName":
        "vnTrader_1Min_Db",
        "contracts": [{
            "symbol": "IF:CTP",
            "rate": 5 / 10000,  # 单边手续费
            "slippage": 0.002  # 滑价
        }]
    }
    # 设置策略固定参数
    optimize.globalSetting = {
        "symbolList": ["IF:CTP"],
        "barPeriod": 300,
        "timeframeMap": {
            "signalPeriod": "15m"
        },
        "macdPeriod": 12,
        "macdsignalPeriod": 26,
        "macdhistPeriod": 9,
        "stopwinPeriod": 12,
        "posTime": 4,
        "addPct": 0.02,
        "lot": 10,
        "atrPeriod": 24,
        "maPeriod": 40
    }
    # 设置策略优化参数
    optimize.paramsSetting = {"stopAtrTime": np.arange(0.5, 3, 0.5)}
    optimize.initOpt()
예제 #11
0
def setConfig(root=None):
    # 设置策略类
    optimize.strategyClass = Strategy
    # 设置缓存路径,如果不设置则不会缓存优化结果。
    optimize.root = root
    # 设置引擎参数
    optimize.engineSetting = {
        "startDate": "20160603 10:00:00",
        "endDate": "20190225 23:00:00",
        "dbName": "VnTrader_1Min_Db",
        "contract": [{
            "slippage": 0,
            "rate": 0
        }]
    }
    # 设置策略固定参数
    optimize.globalSetting = {
        "symbolList": ["RB88:CTP"],
        "barPeriod": 150,  #往前推的初始数据值
        "timeframeMap": {
            "envPeriod": "15m",
            "signalPeriod": "15m",
            "ATRPeriod": "60m"
        },
        "barPeriod": 150,
        "envPeriod": 100,
        "stoplossPct": 0.02,
        "atrPeriod": 20,
        "lot": 10
    }
    # 设置策略优化参数
    optimize.paramsSetting = {
        "fastPeriod": range(1, 21, 1),
        "slowPeriod": range(5, 31, 1)
    }
    path = os.path.split(os.path.realpath(__file__))[0]
    with open(path + "//CTA_setting.json") as f:
        globalSetting = json.load(f)[0]
    optimize.globalSetting = globalSetting
    optimize.initOpt()
예제 #12
0
def setConfig(root=None):
    # 设置策略类
    optimize.strategyClass = myStrategy
    # 设置缓存路径,如果不设置则不会缓存优化结果。
    optimize.root = root
    # 设置引擎参数
    optimize.engineSetting = {
        "startDate": "20160703 10:00:00",
        "endDate": "20190101 23:59:00",
        "dbName": "VnTrader_1Min_Db",
        "contract":[{
                    "slippage": 0.002,
                    "rate": 5/10000,
                    }]
    }
    # 设置策略固定参数
    optimize.globalSetting = {
        "symbolList": ["A88:CTP"],
        "barPeriod": 150,
    }
    # 设置策略优化参数
    optimize.paramsSetting = {
            "envPeriod": range(10,25,5),
            "longenvPeriod": range(20,35,5),
            "MIfactor": np.arange(0.05, 0.2, 0.05),
            "bullPeriod": range(15,30,5),
            "bearPeriod": (10,15,5),

            "fastPeriod": range(5,15,5),
            "slowPeriod": range(20,35,5),

            "maPeriod": range(25,35,5)

    }
    path = os.path.split(os.path.realpath("runOptParallel.py"))[0]
    with open(path+"/CTA_setting.json") as f:
        globalSetting = json.load(f)[0]
    optimize.globalSetting = globalSetting
    optimize.initOpt()
예제 #13
0
def setConfig(root=None):
    # 设置策略类
    optimize.strategyClass = TurningPointStrategy
    # 设置缓存路径,如果不设置则不会缓存优化结果。
    optimize.root = root
    # 设置引擎参数
    optimize.engineSetting = {
        # "timeRange": {
        #     "tradeStart": datetime(2017, 12, 31),
        #     "tradeEnd": datetime(2019, 8, 2),
        #     "historyStart": datetime(2016, 6, 3)
        # },
        # "timeRange": {
        #     "tradeStart": datetime(2014, 2, 18),
        #     "tradeEnd": datetime(2017, 12, 31),
        #     "historyStart": datetime(2013, 11, 4)
        # },
        "timeRange": {
            "tradeStart": datetime(2014, 2, 18),
            "tradeEnd": datetime(2019, 8, 2),
            "historyStart": datetime(2013, 11, 4)
        },
        "dbURI":
        "localhost",
        "bardbName":
        "vnTrader_1Min_Db",
        "contract": [{
            "symbol": "JD:CTP",
            "size": 1,  # 每点价值
            "priceTick": 0.01,  # 最小价格变动
            "slippage": 0.5,
            "rate": 5 / 10000,
        }]
    }
    # 设置策略固定参数
    optimize.globalSetting = {
        "symbolList": ["J:CTP"],  # 修改品种必须通过 CTA_setting.json,这里是无效的
        "barPeriod": 150,
    }
    # 设置策略优化参数
    optimize.paramsSetting = {
        # 'nBar': range(7,17,1),
        # 'base_range': np.arange(0.01, 0.021, 0.005),
        # 'back_range': np.arange(-0.007, 0, 0.002),

        # 'symbolList': [["J:CTP"], ["IF:CTP"], ["RB:CTP"], ["AG:CTP"], ["ZN:CTP"], ["TA:CTP"], ["AU:CTP"]],
        # 'symbolList': [["I:CTP"], ["SR:CTP"], ["CF:CTP"], ["BU:CTP"]],
        # 'ma_period': range(3,10,1),
        # 'profit_r': np.arange(0.8, 1.21, 0.1),
        # 'loss_r': np.arange(0.4, 0.71, 0.1),
        # 'sp_length': range(4,10,1),
        # 'change_r1': np.arange(0.1, 0.51, 0.2),
        # 'change_r2': np.arange(0, 1.01, 0.2),
        # 'dif_r1': np.arange(0.3, 1.01, 0.1),
        'dif_r2': np.arange(1.2, 1.41, 0.1),
        # 'posTime': range(1,3,1),
        # 'addPct': np.arange(0.005, 0.021, 0.005),
    }
    path = os.path.split(os.path.realpath(__file__))[0]
    with open(path + "//CTA_setting.json") as f:
        globalSetting = json.load(f)[0]
    optimize.globalSetting = globalSetting
    optimize.initOpt()