复制链接
克隆策略

    {"description":"实验创建于2018/10/16","graph":{"edges":[{"to_node_id":"-1442:instruments","from_node_id":"-1483:data_1"},{"to_node_id":"-1442:options_data","from_node_id":"-1483:data_2"}],"nodes":[{"node_id":"-1442","module_id":"BigQuantSpace.trade.trade-v4","parameters":[{"name":"start_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"initialize","value":"# 回测引擎:初始化函数,只执行一次\ndef bigquant_run(context):\n import re\n # 设置是否是结算模式\n # context.set_need_settle(False)\n # 设置最大杠杆\n context.strategy_leverage = 3\n # context.set_max_leverage(1, 'fill_amap')\n outer_data = context.options['data'].read_pickle()\n context.winners = outer_data['winners']\n context.losers = outer_data['losers']\n context.rebalance_days = 1\n if 'index' not in context.extension:\n context.extension['index'] = 0 \n \n context.dom = DataSource('dominant_CN_FUTURE').read() \n \n\n ","type":"Literal","bound_global_parameter":null},{"name":"handle_data","value":"# 回测引擎:每日数据处理函数,每天执行一次\ndef bigquant_run(context, data):\n import re\n today = data.current_dt.strftime('%Y-%m-%d') # 当前交易日期\n \n context.extension['index'] += 1\n \n # 整理赢者和输者\n try:\n winners = context.winners[today]\n losers = context.losers[today]\n \n except KeyError as e:\n return \n \n # 通过positions对象,使用列表生成式的方法获取目前持仓的股票列表\n contract_hold_now = [equity.symbol for equity in context.portfolio.positions]\n \n \n# if context.extension['index'] % context.rebalance_days != 0: # 调仓日不需要换合约\n# #if True:\n# for old_contract in contract_hold_now:\n# dom_contract = ''.join(re.findall(r'[A-Za-z]', old_contract.split('.')[0])) +'8888'+'.'+ old_contract.split('.')[1]\n\n# try:\n# new_contract = context.dom[(context.dom['instrument'] == dom_contract) & (context.dom['date']==today)]['dominant'].tolist()[0]\n# except IndexError as e:\n\n# continue\n# # 如果出现换月的情形,就移仓换月(先平 后开)\n# if old_contract != new_contract:\n\n# new_sid = context.future_symbol(new_contract)\n# sid = context.future_symbol(old_contract)\n# hold_amount = context.portfolio.positions[sid]['amount']\n\n# if data.can_trade(sid) and data.can_trade(new_sid) and hold_amount >0: # 卖平 再买开\n# # Long\n# context.order(sid, -1 * (hold_amount), position_effect='close')\n# context.order(new_sid, 1 * (hold_amount), position_effect='open')\n# print(today, '出现移仓换月!','当前持仓是多头!', '旧合约:',old_contract, '新合约:',new_contract,'当前持仓', hold_amount)\n\n# elif data.can_trade(sid) and data.can_trade(new_sid) and hold_amount <0: # 买平 再卖开\n# # Short\n# context.order(sid, -1 * (hold_amount), position_effect='close')\n# context.order(new_sid, 1 * (hold_amount), position_effect='open')\n# print(today, '出现移仓换月!','当前持仓是空头!', '旧合约:',old_contract, '新合约:',new_contract,'当前持仓', hold_amount)\n\n \n \n# # 不在换仓日就return,相当于后面的代码只会一个月运行一次,买入的股票会持有1个月\n# if context.extension['index'] % context.rebalance_days != 0:\n# return \n \n print(today, 'winners:',winners ,'losers:',losers)\n \n # 月初换仓第一步\n for old_contract in contract_hold_now:\n sid = context.future_symbol(old_contract )\n hold_amount = context.portfolio.positions[sid]['amount'] \n \n if data.can_trade(sid) and hold_amount >0: # 卖平\n# context.order(sid, -1 * (hold_amount), position_effect='close')\n context.order(sid, 0, position_effect='target')\n\n print(today,'_-_-'*3,'月初多仓进行平仓!', '合约',old_contract, '手数', hold_amount)\n \n elif data.can_trade(sid) and hold_amount <0: # 买平 \n \n# context.order(sid, -1 * (hold_amount), position_effect='close')\n context.order(sid, 0, position_effect='target')\n\n print(today,'____'*3,'月初空仓进行平仓!', '合约',old_contract, '手数', hold_amount)\n\n \n if len(winners)+len(losers) <=5:\n return \n\n # 等权重分配仓位\n weight = 1 / (len(winners)+len(losers))\n \n portfolio_value = context.portfolio.portfolio_value\n book_value = portfolio_value * context.strategy_leverage * weight\n \n # 月初换仓第二步\n for domin_contract in winners: # ['RB8888.SHF']\n future_variety = ''.join(re.findall(r'[A-Za-z]', domin_contract.split('.')[0])) # RB\n try:\n contract = context.dom[(context.dom['instrument'] == domin_contract ) & (context.dom['date']==today)]['dominant'].tolist()[0] # RB1901.SHF\n except IndexError as e:\n continue \n sid =context.future_symbol(contract)\n \n if data.can_trade(sid):\n unit = context.get_multiplier(future_variety)\n price = data.current(sid, 'price') \n lots = math.floor(book_value/(unit*price))\n if lots <= 0:\n continue\n context.order(sid, lots, position_effect='open')\n print(today,'____'*3,'月初建多仓!', '合约',contract, '手数',lots)\n \n for domin_contract in losers:\n future_variety = ''.join(re.findall(r'[A-Za-z]', domin_contract.split('.')[0])) # RB\n try:\n contract = context.dom[(context.dom['instrument'] == domin_contract ) & (context.dom['date']==today)]['dominant'].tolist()[0] # RB1901.SHF\n except IndexError as e:\n continue \n sid =context.future_symbol(contract)\n \n if data.can_trade(sid):\n unit = context.get_multiplier(future_variety)\n price = data.current(sid,'price') \n lots = math.floor(book_value/(unit*price))\n if lots <= 0:\n continue\n context.order(sid, -1*lots, position_effect='open')\n print(today,'____'*3,'月初建空仓!', '合约',contract, '手数',-1*lots)\n\n \n ","type":"Literal","bound_global_parameter":null},{"name":"prepare","value":"# 回测引擎:准备数据,只执行一次\ndef bigquant_run(context):\n import re\n \n","type":"Literal","bound_global_parameter":null},{"name":"before_trading_start","value":"# 回测引擎:每个单位时间开始前调用一次,即每日开盘前调用一次。\ndef bigquant_run(context, data):\n pass\n","type":"Literal","bound_global_parameter":null},{"name":"volume_limit","value":"0","type":"Literal","bound_global_parameter":null},{"name":"order_price_field_buy","value":"open","type":"Literal","bound_global_parameter":null},{"name":"order_price_field_sell","value":"open","type":"Literal","bound_global_parameter":null},{"name":"capital_base","value":"5000000","type":"Literal","bound_global_parameter":null},{"name":"auto_cancel_non_tradable_orders","value":"True","type":"Literal","bound_global_parameter":null},{"name":"data_frequency","value":"daily","type":"Literal","bound_global_parameter":null},{"name":"price_type","value":"后复权","type":"Literal","bound_global_parameter":null},{"name":"product_type","value":"期货","type":"Literal","bound_global_parameter":null},{"name":"plot_charts","value":"True","type":"Literal","bound_global_parameter":null},{"name":"backtest_only","value":"False","type":"Literal","bound_global_parameter":null},{"name":"benchmark","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-1442"},{"name":"options_data","node_id":"-1442"},{"name":"history_ds","node_id":"-1442"},{"name":"benchmark_ds","node_id":"-1442"},{"name":"trading_calendar","node_id":"-1442"}],"output_ports":[{"name":"raw_perf","node_id":"-1442"}],"cacheable":false,"seq_num":3,"comment":"","comment_collapsed":true},{"node_id":"-1483","module_id":"BigQuantSpace.cached.cached-v3","parameters":[{"name":"run","value":"# Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端\ndef bigquant_run(input_1, input_2, input_3,before_days):\n tmp = DataSource('dominant_CN_FUTURE').read()\n \n future_ins = list(set(tmp['instrument']))\n commodity_ins = [i for i in future_ins if not i.endswith('CFE')]\n contracts = tmp.dominant.unique().tolist()\n\n fields=['open','high','low','close','volume','open_intl']\n start_date= '2022-07-01'\n end_date = '2022-08-24'\n price_df = DataSource('bar1d_CN_FUTURE').read(commodity_ins,start_date,end_date,fields)\n price_df['adjust_factor']=1.0\n \n ds3 = DataSource.write_df(price_df)\n\n ds1 = DataSource.write_pickle({'start_date':start_date, 'end_date':end_date, 'instruments':contracts})\n\n def caclu(df):\n length = 1\n df['mom'] = df['open'] / df['open'].shift(length) - 1\n df['roll_open_intl'] = df['open_intl'].rolling(22).mean()\n return df \n mom_df = price_df.groupby('instrument').apply(caclu)\n mom_df = mom_df[mom_df['roll_open_intl']>=100000]\n \n symbol_nums = 5\n winners = mom_df.groupby('date').apply(lambda x:x.dropna().sort_values('mom', ascending=False)['instrument'][:symbol_nums].tolist())\n losers = mom_df.groupby('date').apply(lambda x:x.dropna().sort_values('mom', ascending=False)['instrument'][-1*symbol_nums:].tolist())\n\n ds2 = DataSource.write_pickle({'winners':winners, 'losers':losers})\n \n return Outputs(data_1=ds1, data_2=ds2)\n","type":"Literal","bound_global_parameter":null},{"name":"post_run","value":"# 后处理函数,可选。输入是主函数的输出,可以在这里对数据做处理,或者返回更友好的outputs数据格式。此函数输出不会被缓存。\ndef bigquant_run(outputs):\n return outputs\n","type":"Literal","bound_global_parameter":null},{"name":"input_ports","value":"","type":"Literal","bound_global_parameter":null},{"name":"params","value":"{'before_days':1}","type":"Literal","bound_global_parameter":null},{"name":"output_ports","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_1","node_id":"-1483"},{"name":"input_2","node_id":"-1483"},{"name":"input_3","node_id":"-1483"}],"output_ports":[{"name":"data_1","node_id":"-1483"},{"name":"data_2","node_id":"-1483"},{"name":"data_3","node_id":"-1483"}],"cacheable":true,"seq_num":4,"comment":"","comment_collapsed":true}],"node_layout":"<node_postions><node_position Node='-1442' Position='81,36.29967498779297,200,200'/><node_position Node='-1483' Position='90,-100,200,200'/></node_postions>"},"nodes_readonly":false,"studio_version":"v2"}
    In [8]:
    # 本代码由可视化策略环境自动生成 2022年8月24日 22:08
    # 本代码单元只能在可视化模式下编辑。您也可以拷贝代码,粘贴到新建的代码单元或者策略,然后修改。
    
    
    # Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端
    def m4_run_bigquant_run(input_1, input_2, input_3,before_days):
        tmp = DataSource('dominant_CN_FUTURE').read()
       
        future_ins = list(set(tmp['instrument']))
        commodity_ins =  [i for i in future_ins if  not i.endswith('CFE')]
        contracts = tmp.dominant.unique().tolist()
    
        fields=['open','high','low','close','volume','open_intl']
        start_date= '2022-07-01'
        end_date = '2022-08-24'
        price_df = DataSource('bar1d_CN_FUTURE').read(commodity_ins,start_date,end_date,fields)
        price_df['adjust_factor']=1.0
        
        ds3 = DataSource.write_df(price_df)
    
        ds1 = DataSource.write_pickle({'start_date':start_date, 'end_date':end_date, 'instruments':contracts})
    
        def caclu(df):
            length = 1
            df['mom'] = df['open'] / df['open'].shift(length) - 1
            df['roll_open_intl'] = df['open_intl'].rolling(22).mean()
            return df 
        mom_df  = price_df.groupby('instrument').apply(caclu)
        mom_df = mom_df[mom_df['roll_open_intl']>=100000]
        
        symbol_nums = 5
        winners = mom_df.groupby('date').apply(lambda x:x.dropna().sort_values('mom', ascending=False)['instrument'][:symbol_nums].tolist())
        losers = mom_df.groupby('date').apply(lambda x:x.dropna().sort_values('mom', ascending=False)['instrument'][-1*symbol_nums:].tolist())
    
        ds2 = DataSource.write_pickle({'winners':winners, 'losers':losers})
         
        return Outputs(data_1=ds1, data_2=ds2)
    
    # 后处理函数,可选。输入是主函数的输出,可以在这里对数据做处理,或者返回更友好的outputs数据格式。此函数输出不会被缓存。
    def m4_post_run_bigquant_run(outputs):
        return outputs
    
    # 回测引擎:初始化函数,只执行一次
    def m3_initialize_bigquant_run(context):
        import re
        # 设置是否是结算模式
        # context.set_need_settle(False)
        # 设置最大杠杆
        context.strategy_leverage = 3
        # context.set_max_leverage(1, 'fill_amap')
        outer_data = context.options['data'].read_pickle()
        context.winners = outer_data['winners']
        context.losers = outer_data['losers']
        context.rebalance_days = 1
        if 'index' not in context.extension:
            context.extension['index'] = 0 
            
        context.dom = DataSource('dominant_CN_FUTURE').read() 
        
    
        
    # 回测引擎:每日数据处理函数,每天执行一次
    def m3_handle_data_bigquant_run(context, data):
        import re
        today = data.current_dt.strftime('%Y-%m-%d') # 当前交易日期
     
        context.extension['index'] += 1
        
        # 整理赢者和输者
        try:
            winners = context.winners[today]
            losers = context.losers[today]
           
        except KeyError as e:
            return 
        
        # 通过positions对象,使用列表生成式的方法获取目前持仓的股票列表
        contract_hold_now = [equity.symbol for equity in context.portfolio.positions]
        
        
    #     if  context.extension['index'] % context.rebalance_days != 0:  # 调仓日不需要换合约
    #     #if True:
    #         for old_contract  in contract_hold_now:
    #             dom_contract = ''.join(re.findall(r'[A-Za-z]',  old_contract.split('.')[0])) +'8888'+'.'+ old_contract.split('.')[1]
    
    #             try:
    #                 new_contract = context.dom[(context.dom['instrument'] ==  dom_contract) & (context.dom['date']==today)]['dominant'].tolist()[0]
    #             except IndexError as e:
    
    #                 continue
    #             # 如果出现换月的情形,就移仓换月(先平 后开)
    #             if old_contract != new_contract:
    
    #                 new_sid = context.future_symbol(new_contract)
    #                 sid = context.future_symbol(old_contract)
    #                 hold_amount = context.portfolio.positions[sid]['amount']
    
    #                 if data.can_trade(sid) and data.can_trade(new_sid) and  hold_amount >0:  # 卖平 再买开
    #                     # Long
    #                     context.order(sid, -1 * (hold_amount), position_effect='close')
    #                     context.order(new_sid, 1 * (hold_amount), position_effect='open')
    #                     print(today, '出现移仓换月!','当前持仓是多头!', '旧合约:',old_contract, '新合约:',new_contract,'当前持仓', hold_amount)
    
    #                 elif data.can_trade(sid)  and data.can_trade(new_sid) and hold_amount <0: # 买平 再卖开
    #                     # Short
    #                     context.order(sid, -1 * (hold_amount), position_effect='close')
    #                     context.order(new_sid, 1 * (hold_amount), position_effect='open')
    #                     print(today, '出现移仓换月!','当前持仓是空头!', '旧合约:',old_contract, '新合约:',new_contract,'当前持仓', hold_amount)
    
                
      
    #     # 不在换仓日就return,相当于后面的代码只会一个月运行一次,买入的股票会持有1个月
    #     if  context.extension['index'] % context.rebalance_days != 0:
    #         return 
        
        print(today, 'winners:',winners ,'losers:',losers)
        
        # 月初换仓第一步
        for old_contract  in contract_hold_now:
            sid = context.future_symbol(old_contract )
            hold_amount = context.portfolio.positions[sid]['amount']    
            
            if data.can_trade(sid) and hold_amount >0: # 卖平
    #             context.order(sid, -1 * (hold_amount), position_effect='close')
                context.order(sid, 0, position_effect='target')
    
                print(today,'_-_-'*3,'月初多仓进行平仓!', '合约',old_contract, '手数', hold_amount)
                
            elif data.can_trade(sid) and hold_amount <0: # 买平 
                
    #             context.order(sid, -1 * (hold_amount), position_effect='close')
                context.order(sid, 0, position_effect='target')
    
                print(today,'____'*3,'月初空仓进行平仓!', '合约',old_contract, '手数', hold_amount)
    
        
        if len(winners)+len(losers) <=5:
            return 
    
        # 等权重分配仓位
        weight =  1 / (len(winners)+len(losers))
        
        portfolio_value = context.portfolio.portfolio_value
        book_value = portfolio_value * context.strategy_leverage  * weight
        
        # 月初换仓第二步
        for domin_contract in winners:  # ['RB8888.SHF']
            future_variety = ''.join(re.findall(r'[A-Za-z]', domin_contract.split('.')[0]))  # RB
            try:
                 contract = context.dom[(context.dom['instrument'] == domin_contract ) & (context.dom['date']==today)]['dominant'].tolist()[0] # RB1901.SHF
            except IndexError as e:
                continue 
            sid =context.future_symbol(contract)
            
            if data.can_trade(sid):
                unit = context.get_multiplier(future_variety)
                price = data.current(sid, 'price') 
                lots = math.floor(book_value/(unit*price))
                if lots <= 0:
                    continue
                context.order(sid, lots, position_effect='open')
                print(today,'____'*3,'月初建多仓!', '合约',contract, '手数',lots)
                
        for domin_contract in losers:
            future_variety = ''.join(re.findall(r'[A-Za-z]', domin_contract.split('.')[0]))  # RB
            try:
                contract = context.dom[(context.dom['instrument'] == domin_contract ) & (context.dom['date']==today)]['dominant'].tolist()[0] # RB1901.SHF
            except IndexError as e:
                continue 
            sid =context.future_symbol(contract)
            
            if data.can_trade(sid):
                unit = context.get_multiplier(future_variety)
                price = data.current(sid,'price') 
                lots = math.floor(book_value/(unit*price))
                if lots <= 0:
                    continue
                context.order(sid, -1*lots, position_effect='open')
                print(today,'____'*3,'月初建空仓!', '合约',contract, '手数',-1*lots)
    
        
        
    # 回测引擎:准备数据,只执行一次
    def m3_prepare_bigquant_run(context):
        import re
        
    
    # 回测引擎:每个单位时间开始前调用一次,即每日开盘前调用一次。
    def m3_before_trading_start_bigquant_run(context, data):
        pass
    
    
    m4 = M.cached.v3(
        run=m4_run_bigquant_run,
        post_run=m4_post_run_bigquant_run,
        input_ports='',
        params='{\'before_days\':1}',
        output_ports=''
    )
    
    m3 = M.trade.v4(
        instruments=m4.data_1,
        options_data=m4.data_2,
        start_date='',
        end_date='',
        initialize=m3_initialize_bigquant_run,
        handle_data=m3_handle_data_bigquant_run,
        prepare=m3_prepare_bigquant_run,
        before_trading_start=m3_before_trading_start_bigquant_run,
        volume_limit=0,
        order_price_field_buy='open',
        order_price_field_sell='open',
        capital_base=5000000,
        auto_cancel_non_tradable_orders=True,
        data_frequency='daily',
        price_type='后复权',
        product_type='期货',
        plot_charts=True,
        backtest_only=False,
        benchmark=''
    )
    
    2022-08-01 winners: ['P8888.DCE', 'Y8888.DCE', 'ZN8888.SHF', 'A8888.DCE', 'V8888.DCE'] losers: ['RB8888.SHF', 'TA8888.CZC', 'BU8888.SHF', 'IC8888.CFX', 'EB8888.DCE']
    2022-08-01 ____________ 月初建多仓! 合约 P2209.DCE 手数 17
    2022-08-01 ____________ 月初建多仓! 合约 Y2209.DCE 手数 15
    2022-08-01 ____________ 月初建多仓! 合约 ZN2209.SHF 手数 12
    2022-08-01 ____________ 月初建多仓! 合约 A2209.DCE 手数 24
    2022-08-01 ____________ 月初建多仓! 合约 V2209.DCE 手数 43
    2022-08-01 ____________ 月初建空仓! 合约 RB2210.SHF 手数 -36
    2022-08-01 ____________ 月初建空仓! 合约 TA2209.CZC 手数 -51
    2022-08-01 ____________ 月初建空仓! 合约 BU2209.SHF 手数 -35
    2022-08-01 ____________ 月初建空仓! 合约 IC2209.CFX 手数 -1
    2022-08-01 ____________ 月初建空仓! 合约 EB2209.DCE 手数 -33
    2022-08-02 winners: ['FU8888.SHF', 'RB8888.SHF', 'A8888.DCE', 'CU8888.SHF', 'AG8888.SHF'] losers: ['AL8888.SHF', 'MA8888.CZC', 'CF8888.CZC', 'P8888.DCE', 'BU8888.SHF']
    2022-08-02 _-_-_-_-_-_- 月初多仓进行平仓! 合约 P2209.DCE 手数 17
    2022-08-02 _-_-_-_-_-_- 月初多仓进行平仓! 合约 Y2209.DCE 手数 15
    2022-08-02 _-_-_-_-_-_- 月初多仓进行平仓! 合约 ZN2209.SHF 手数 12
    2022-08-02 _-_-_-_-_-_- 月初多仓进行平仓! 合约 A2209.DCE 手数 24
    2022-08-02 _-_-_-_-_-_- 月初多仓进行平仓! 合约 V2209.DCE 手数 43
    2022-08-02 ____________ 月初空仓进行平仓! 合约 RB2210.SHF 手数 -36
    2022-08-02 ____________ 月初空仓进行平仓! 合约 TA2209.CZC 手数 -51
    2022-08-02 ____________ 月初空仓进行平仓! 合约 BU2209.SHF 手数 -35
    2022-08-02 ____________ 月初空仓进行平仓! 合约 IC2209.CFX 手数 -1
    2022-08-02 ____________ 月初空仓进行平仓! 合约 EB2209.DCE 手数 -33
    2022-08-02 ____________ 月初建多仓! 合约 FU2301.SHF 手数 46
    2022-08-02 ____________ 月初建多仓! 合约 RB2210.SHF 手数 35
    2022-08-02 ____________ 月初建多仓! 合约 A2209.DCE 手数 23
    2022-08-02 ____________ 月初建多仓! 合约 CU2209.SHF 手数 4
    2022-08-02 ____________ 月初建多仓! 合约 AG2212.SHF 手数 22
    2022-08-02 ____________ 月初建空仓! 合约 AL2209.SHF 手数 -16
    2022-08-02 ____________ 月初建空仓! 合约 MA2209.CZC 手数 -57
    2022-08-02 ____________ 月初建空仓! 合约 CF2301.CZC 手数 -21
    2022-08-02 ____________ 月初建空仓! 合约 P2209.DCE 手数 -18
    2022-08-02 ____________ 月初建空仓! 合约 BU2212.SHF 手数 -36
    2022-08-03 winners: ['FG8888.CZC', 'I8888.DCE', 'SA8888.CZC', 'OI8888.CZC', 'BU8888.SHF'] losers: ['IC8888.CFX', 'RM8888.CZC', 'CF8888.CZC', 'FU8888.SHF', 'P8888.DCE']
    2022-08-03 ____________ 月初空仓进行平仓! 合约 P2209.DCE 手数 -18
    2022-08-03 _-_-_-_-_-_- 月初多仓进行平仓! 合约 A2209.DCE 手数 23
    2022-08-03 _-_-_-_-_-_- 月初多仓进行平仓! 合约 RB2210.SHF 手数 35
    2022-08-03 _-_-_-_-_-_- 月初多仓进行平仓! 合约 FU2301.SHF 手数 46
    2022-08-03 _-_-_-_-_-_- 月初多仓进行平仓! 合约 CU2209.SHF 手数 4
    2022-08-03 _-_-_-_-_-_- 月初多仓进行平仓! 合约 AG2212.SHF 手数 22
    2022-08-03 ____________ 月初空仓进行平仓! 合约 AL2209.SHF 手数 -16
    2022-08-03 ____________ 月初空仓进行平仓! 合约 MA2209.CZC 手数 -57
    2022-08-03 ____________ 月初空仓进行平仓! 合约 CF2301.CZC 手数 -21
    2022-08-03 ____________ 月初空仓进行平仓! 合约 BU2212.SHF 手数 -36
    2022-08-03 ____________ 月初建多仓! 合约 FG2209.CZC 手数 46
    2022-08-03 ____________ 月初建多仓! 合约 I2209.DCE 手数 18
    2022-08-03 ____________ 月初建多仓! 合约 SA2209.CZC 手数 27
    2022-08-03 ____________ 月初建多仓! 合约 OI2209.CZC 手数 12
    2022-08-03 ____________ 月初建多仓! 合约 BU2212.SHF 手数 35
    2022-08-03 ____________ 月初建空仓! 合约 IC2209.CFX 手数 -1
    2022-08-03 ____________ 月初建空仓! 合约 RM2301.CZC 手数 -53
    2022-08-03 ____________ 月初建空仓! 合约 CF2301.CZC 手数 -20
    2022-08-03 ____________ 月初建空仓! 合约 FU2301.SHF 手数 -46
    2022-08-03 ____________ 月初建空仓! 合约 P2209.DCE 手数 -17
    2022-08-04 winners: ['BU8888.SHF', 'EB8888.DCE', 'Y8888.DCE', 'PF8888.CZC', 'M8888.DCE'] losers: ['V8888.DCE', 'SM8888.CZC', 'ZN8888.SHF', 'I8888.DCE', 'SF8888.CZC']
    2022-08-04 ____________ 月初空仓进行平仓! 合约 P2209.DCE 手数 -17
    2022-08-04 ____________ 月初空仓进行平仓! 合约 FU2301.SHF 手数 -46
    2022-08-04 ____________ 月初空仓进行平仓! 合约 CF2301.CZC 手数 -20
    2022-08-04 _-_-_-_-_-_- 月初多仓进行平仓! 合约 BU2212.SHF 手数 35
    2022-08-04 _-_-_-_-_-_- 月初多仓进行平仓! 合约 FG2209.CZC 手数 46
    2022-08-04 _-_-_-_-_-_- 月初多仓进行平仓! 合约 I2209.DCE 手数 18
    2022-08-04 _-_-_-_-_-_- 月初多仓进行平仓! 合约 SA2209.CZC 手数 27
    2022-08-04 _-_-_-_-_-_- 月初多仓进行平仓! 合约 OI2209.CZC 手数 12
    2022-08-04 ____________ 月初空仓进行平仓! 合约 IC2209.CFX 手数 -1
    2022-08-04 ____________ 月初空仓进行平仓! 合约 RM2301.CZC 手数 -53
    2022-08-04 ____________ 月初建多仓! 合约 BU2212.SHF 手数 36
    2022-08-04 ____________ 月初建多仓! 合约 EB2209.DCE 手数 34
    2022-08-04 ____________ 月初建多仓! 合约 Y2209.DCE 手数 15
    2022-08-04 ____________ 月初建多仓! 合约 PF2210.CZC 手数 40
    2022-08-04 ____________ 月初建多仓! 合约 M2209.DCE 手数 36
    2022-08-04 ____________ 月初建空仓! 合约 V2209.DCE 手数 -43
    2022-08-04 ____________ 月初建空仓! 合约 SM2209.CZC 手数 -39
    2022-08-04 ____________ 月初建空仓! 合约 ZN2209.SHF 手数 -12
    2022-08-04 ____________ 月初建空仓! 合约 I2209.DCE 手数 -18
    2022-08-04 ____________ 月初建空仓! 合约 SF2209.CZC 手数 -36
    2022-08-05 winners: ['RU8888.SHF', 'AP8888.CZC', 'RM8888.CZC', 'ZN8888.SHF', 'FG8888.CZC'] losers: ['EB8888.DCE', 'PF8888.CZC', 'Y8888.DCE', 'FU8888.SHF', 'SA8888.CZC']
    2022-08-05 _-_-_-_-_-_- 月初多仓进行平仓! 合约 BU2212.SHF 手数 36
    2022-08-05 ____________ 月初空仓进行平仓! 合约 I2209.DCE 手数 -18
    2022-08-05 _-_-_-_-_-_- 月初多仓进行平仓! 合约 EB2209.DCE 手数 34
    2022-08-05 _-_-_-_-_-_- 月初多仓进行平仓! 合约 Y2209.DCE 手数 15
    2022-08-05 _-_-_-_-_-_- 月初多仓进行平仓! 合约 PF2210.CZC 手数 40
    2022-08-05 _-_-_-_-_-_- 月初多仓进行平仓! 合约 M2209.DCE 手数 36
    2022-08-05 ____________ 月初空仓进行平仓! 合约 V2209.DCE 手数 -43
    2022-08-05 ____________ 月初空仓进行平仓! 合约 SM2209.CZC 手数 -39
    2022-08-05 ____________ 月初空仓进行平仓! 合约 ZN2209.SHF 手数 -12
    2022-08-05 ____________ 月初空仓进行平仓! 合约 SF2209.CZC 手数 -36
    2022-08-05 ____________ 月初建多仓! 合约 RU2301.SHF 手数 10
    2022-08-05 ____________ 月初建多仓! 合约 AP2210.CZC 手数 16
    2022-08-05 ____________ 月初建多仓! 合约 RM2301.CZC 手数 49
    2022-08-05 ____________ 月初建多仓! 合约 ZN2209.SHF 手数 11
    2022-08-05 ____________ 月初建多仓! 合约 FG2209.CZC 手数 45
    2022-08-05 ____________ 月初建空仓! 合约 EB2209.DCE 手数 -34
    2022-08-05 ____________ 月初建空仓! 合约 PF2210.CZC 手数 -40
    2022-08-05 ____________ 月初建空仓! 合约 Y2209.DCE 手数 -14
    2022-08-05 ____________ 月初建空仓! 合约 FU2301.SHF 手数 -46
    2022-08-05 ____________ 月初建空仓! 合约 SA2301.CZC 手数 -31
    2022-08-08 winners: ['RM8888.CZC', 'P8888.DCE', 'ZN8888.SHF', 'IC8888.CFX', 'AL8888.SHF'] losers: ['AG8888.SHF', 'PF8888.CZC', 'EB8888.DCE', 'TA8888.CZC', 'I8888.DCE']
    2022-08-08 ____________ 月初空仓进行平仓! 合约 EB2209.DCE 手数 -34
    2022-08-08 ____________ 月初空仓进行平仓! 合约 Y2209.DCE 手数 -14
    2022-08-08 ____________ 月初空仓进行平仓! 合约 PF2210.CZC 手数 -40
    2022-08-08 _-_-_-_-_-_- 月初多仓进行平仓! 合约 ZN2209.SHF 手数 11
    2022-08-08 _-_-_-_-_-_- 月初多仓进行平仓! 合约 RU2301.SHF 手数 10
    2022-08-08 _-_-_-_-_-_- 月初多仓进行平仓! 合约 AP2210.CZC 手数 16
    2022-08-08 _-_-_-_-_-_- 月初多仓进行平仓! 合约 RM2301.CZC 手数 49
    2022-08-08 _-_-_-_-_-_- 月初多仓进行平仓! 合约 FG2209.CZC 手数 45
    2022-08-08 ____________ 月初空仓进行平仓! 合约 FU2301.SHF 手数 -46
    2022-08-08 ____________ 月初空仓进行平仓! 合约 SA2301.CZC 手数 -31
    2022-08-08 ____________ 月初建多仓! 合约 RM2301.CZC 手数 47
    2022-08-08 ____________ 月初建多仓! 合约 P2209.DCE 手数 15
    2022-08-08 ____________ 月初建多仓! 合约 ZN2209.SHF 手数 10
    2022-08-08 ____________ 月初建多仓! 合约 IC2209.CFX 手数 1
    2022-08-08 ____________ 月初建多仓! 合约 AL2209.SHF 手数 14
    2022-08-08 ____________ 月初建空仓! 合约 AG2212.SHF 手数 -20
    2022-08-08 ____________ 月初建空仓! 合约 PF2210.CZC 手数 -36
    2022-08-08 ____________ 月初建空仓! 合约 EB2209.DCE 手数 -31
    2022-08-08 ____________ 月初建空仓! 合约 TA2209.CZC 手数 -45
    2022-08-08 ____________ 月初建空仓! 合约 I2301.DCE 手数 -17
    2022-08-09 winners: ['SA8888.CZC', 'PF8888.CZC', 'P8888.DCE', 'FG8888.CZC', 'V8888.DCE'] losers: ['TA8888.CZC', 'AP8888.CZC', 'SF8888.CZC', 'JD8888.DCE', 'RM8888.CZC']
    2022-08-09 ____________ 月初空仓进行平仓! 合约 EB2209.DCE 手数 -31
    2022-08-09 ____________ 月初空仓进行平仓! 合约 PF2210.CZC 手数 -36
    2022-08-09 _-_-_-_-_-_- 月初多仓进行平仓! 合约 ZN2209.SHF 手数 10
    2022-08-09 _-_-_-_-_-_- 月初多仓进行平仓! 合约 RM2301.CZC 手数 47
    2022-08-09 _-_-_-_-_-_- 月初多仓进行平仓! 合约 P2209.DCE 手数 15
    2022-08-09 _-_-_-_-_-_- 月初多仓进行平仓! 合约 IC2209.CFX 手数 1
    2022-08-09 _-_-_-_-_-_- 月初多仓进行平仓! 合约 AL2209.SHF 手数 14
    2022-08-09 ____________ 月初空仓进行平仓! 合约 AG2212.SHF 手数 -20
    2022-08-09 ____________ 月初空仓进行平仓! 合约 TA2209.CZC 手数 -45
    2022-08-09 ____________ 月初空仓进行平仓! 合约 I2301.DCE 手数 -17
    2022-08-09 ____________ 月初建多仓! 合约 SA2301.CZC 手数 27
    2022-08-09 ____________ 月初建多仓! 合约 PF2210.CZC 手数 36
    2022-08-09 ____________ 月初建多仓! 合约 P2209.DCE 手数 15
    2022-08-09 ____________ 月初建多仓! 合约 FG2301.CZC 手数 41
    2022-08-09 ____________ 月初建多仓! 合约 V2209.DCE 手数 39
    2022-08-09 ____________ 月初建空仓! 合约 TA2301.CZC 手数 -47
    2022-08-09 ____________ 月初建空仓! 合约 AP2210.CZC 手数 -15
    2022-08-09 ____________ 月初建空仓! 合约 SF2209.CZC 手数 -33
    2022-08-09 ____________ 月初建空仓! 合约 JD2209.DCE 手数 -66
    2022-08-09 ____________ 月初建空仓! 合约 RM2301.CZC 手数 -47
    2022-08-10 winners: ['EB8888.DCE', 'FU8888.SHF', 'BU8888.SHF', 'TA8888.CZC', 'C8888.DCE'] losers: ['MA8888.CZC', 'RB8888.SHF', 'I8888.DCE', 'Y8888.DCE', 'M8888.DCE']
    2022-08-10 _-_-_-_-_-_- 月初多仓进行平仓! 合约 PF2210.CZC 手数 36
    2022-08-10 ____________ 月初空仓进行平仓! 合约 RM2301.CZC 手数 -47
    2022-08-10 _-_-_-_-_-_- 月初多仓进行平仓! 合约 P2209.DCE 手数 15
    2022-08-10 _-_-_-_-_-_- 月初多仓进行平仓! 合约 SA2301.CZC 手数 27
    2022-08-10 _-_-_-_-_-_- 月初多仓进行平仓! 合约 FG2301.CZC 手数 41
    2022-08-10 _-_-_-_-_-_- 月初多仓进行平仓! 合约 V2209.DCE 手数 39
    2022-08-10 ____________ 月初空仓进行平仓! 合约 TA2301.CZC 手数 -47
    2022-08-10 ____________ 月初空仓进行平仓! 合约 AP2210.CZC 手数 -15
    2022-08-10 ____________ 月初空仓进行平仓! 合约 SF2209.CZC 手数 -33
    2022-08-10 ____________ 月初空仓进行平仓! 合约 JD2209.DCE 手数 -66
    2022-08-10 ____________ 月初建多仓! 合约 EB2209.DCE 手数 30
    2022-08-10 ____________ 月初建多仓! 合约 FU2301.SHF 手数 40
    2022-08-10 ____________ 月初建多仓! 合约 BU2212.SHF 手数 30
    2022-08-10 ____________ 月初建多仓! 合约 TA2301.CZC 手数 46
    2022-08-10 ____________ 月初建多仓! 合约 C2301.DCE 手数 46
    2022-08-10 ____________ 月初建空仓! 合约 MA2209.CZC 手数 -52
    2022-08-10 ____________ 月初建空仓! 合约 RB2210.SHF 手数 -31
    2022-08-10 ____________ 月初建空仓! 合约 I2301.DCE 手数 -17
    2022-08-10 ____________ 月初建空仓! 合约 Y2301.DCE 手数 -13
    2022-08-10 ____________ 月初建空仓! 合约 M2301.DCE 手数 -34
    2022-08-11 winners: ['JD8888.DCE', 'RM8888.CZC', 'ZN8888.SHF', 'IC8888.CFX', 'M8888.DCE'] losers: ['L8888.DCE', 'SA8888.CZC', 'RU8888.SHF', 'FG8888.CZC', 'MA8888.CZC']
    2022-08-11 _-_-_-_-_-_- 月初多仓进行平仓! 合约 TA2301.CZC 手数 46
    2022-08-11 _-_-_-_-_-_- 月初多仓进行平仓! 合约 EB2209.DCE 手数 30
    2022-08-11 _-_-_-_-_-_- 月初多仓进行平仓! 合约 FU2301.SHF 手数 40
    2022-08-11 _-_-_-_-_-_- 月初多仓进行平仓! 合约 BU2212.SHF 手数 30
    2022-08-11 _-_-_-_-_-_- 月初多仓进行平仓! 合约 C2301.DCE 手数 46
    2022-08-11 ____________ 月初空仓进行平仓! 合约 MA2209.CZC 手数 -52
    2022-08-11 ____________ 月初空仓进行平仓! 合约 RB2210.SHF 手数 -31
    2022-08-11 ____________ 月初空仓进行平仓! 合约 I2301.DCE 手数 -17
    2022-08-11 ____________ 月初空仓进行平仓! 合约 Y2301.DCE 手数 -13
    2022-08-11 ____________ 月初空仓进行平仓! 合约 M2301.DCE 手数 -34
    2022-08-11 ____________ 月初建多仓! 合约 JD2209.DCE 手数 63
    2022-08-11 ____________ 月初建多仓! 合约 RM2301.CZC 手数 45
    2022-08-11 ____________ 月初建多仓! 合约 ZN2209.SHF 手数 10
    2022-08-11 ____________ 月初建多仓! 合约 IC2209.CFX 手数 1
    2022-08-11 ____________ 月初建多仓! 合约 M2301.DCE 手数 34
    2022-08-11 ____________ 月初建空仓! 合约 L2209.DCE 手数 -32
    2022-08-11 ____________ 月初建空仓! 合约 SA2301.CZC 手数 -27
    2022-08-11 ____________ 月初建空仓! 合约 RU2301.SHF 手数 -9
    2022-08-11 ____________ 月初建空仓! 合约 FG2301.CZC 手数 -40
    2022-08-11 ____________ 月初建空仓! 合约 MA2209.CZC 手数 -52
    2022-08-12 winners: ['FU8888.SHF', 'SF8888.CZC', 'BU8888.SHF', 'CF8888.CZC', 'OI8888.CZC'] losers: ['C8888.DCE', 'AG8888.SHF', 'CS8888.DCE', 'JD8888.DCE', 'SP8888.SHF']
    2022-08-12 ____________ 月初空仓进行平仓! 合约 MA2209.CZC 手数 -52
    2022-08-12 _-_-_-_-_-_- 月初多仓进行平仓! 合约 M2301.DCE 手数 34
    2022-08-12 _-_-_-_-_-_- 月初多仓进行平仓! 合约 JD2209.DCE 手数 63
    2022-08-12 _-_-_-_-_-_- 月初多仓进行平仓! 合约 RM2301.CZC 手数 45
    2022-08-12 _-_-_-_-_-_- 月初多仓进行平仓! 合约 ZN2209.SHF 手数 10
    2022-08-12 _-_-_-_-_-_- 月初多仓进行平仓! 合约 IC2209.CFX 手数 1
    2022-08-12 ____________ 月初空仓进行平仓! 合约 L2209.DCE 手数 -32
    2022-08-12 ____________ 月初空仓进行平仓! 合约 SA2301.CZC 手数 -27
    2022-08-12 ____________ 月初空仓进行平仓! 合约 RU2301.SHF 手数 -9
    2022-08-12 ____________ 月初空仓进行平仓! 合约 FG2301.CZC 手数 -40
    2022-08-12 ____________ 月初建多仓! 合约 FU2301.SHF 手数 38
    2022-08-12 ____________ 月初建多仓! 合约 SF2209.CZC 手数 32
    2022-08-12 ____________ 月初建多仓! 合约 BU2212.SHF 手数 30
    2022-08-12 ____________ 月初建多仓! 合约 CF2301.CZC 手数 17
    2022-08-12 ____________ 月初建多仓! 合约 OI2209.CZC 手数 10
    2022-08-12 ____________ 月初建空仓! 合约 C2301.DCE 手数 -47
    2022-08-12 ____________ 月初建空仓! 合约 AG2212.SHF 手数 -19
    2022-08-12 ____________ 月初建空仓! 合约 CS2209.DCE 手数 -42
    2022-08-12 ____________ 月初建空仓! 合约 JD2301.DCE 手数 -65
    2022-08-12 ____________ 月初建空仓! 合约 SP2301.SHF 手数 -19
    2022-08-15 winners: ['PF8888.CZC', 'P8888.DCE', 'OI8888.CZC', 'RM8888.CZC', 'C8888.DCE'] losers: ['SA8888.CZC', 'ZN8888.SHF', 'I8888.DCE', 'SP8888.SHF', 'FG8888.CZC']
    2022-08-15 _-_-_-_-_-_- 月初多仓进行平仓! 合约 FU2301.SHF 手数 38
    2022-08-15 _-_-_-_-_-_- 月初多仓进行平仓! 合约 SF2209.CZC 手数 32
    2022-08-15 _-_-_-_-_-_- 月初多仓进行平仓! 合约 BU2212.SHF 手数 30
    2022-08-15 _-_-_-_-_-_- 月初多仓进行平仓! 合约 CF2301.CZC 手数 17
    2022-08-15 _-_-_-_-_-_- 月初多仓进行平仓! 合约 OI2209.CZC 手数 10
    2022-08-15 ____________ 月初空仓进行平仓! 合约 C2301.DCE 手数 -47
    2022-08-15 ____________ 月初空仓进行平仓! 合约 AG2212.SHF 手数 -19
    2022-08-15 ____________ 月初空仓进行平仓! 合约 CS2209.DCE 手数 -42
    2022-08-15 ____________ 月初空仓进行平仓! 合约 JD2301.DCE 手数 -65
    2022-08-15 ____________ 月初空仓进行平仓! 合约 SP2301.SHF 手数 -19
    2022-08-15 ____________ 月初建多仓! 合约 PF2210.CZC 手数 35
    2022-08-15 ____________ 月初建多仓! 合约 P2209.DCE 手数 15
    2022-08-15 ____________ 月初建多仓! 合约 OI2209.CZC 手数 10
    2022-08-15 ____________ 月初建多仓! 合约 RM2301.CZC 手数 46
    2022-08-15 ____________ 月初建多仓! 合约 C2301.DCE 手数 48
    2022-08-15 ____________ 月初建空仓! 合约 SA2301.CZC 手数 -28
    2022-08-15 ____________ 月初建空仓! 合约 ZN2209.SHF 手数 -10
    2022-08-15 ____________ 月初建空仓! 合约 I2301.DCE 手数 -18
    2022-08-15 ____________ 月初建空仓! 合约 SP2301.SHF 手数 -20
    2022-08-15 ____________ 月初建空仓! 合约 FG2301.CZC 手数 -43
    2022-08-16 winners: ['CF8888.CZC', 'AP8888.CZC', 'MA8888.CZC', 'JD8888.DCE', 'IC8888.CFX'] losers: ['FG8888.CZC', 'I8888.DCE', 'FU8888.SHF', 'P8888.DCE', 'OI8888.CZC']
    2022-08-16 _-_-_-_-_-_- 月初多仓进行平仓! 合约 OI2209.CZC 手数 10
    2022-08-16 _-_-_-_-_-_- 月初多仓进行平仓! 合约 C2301.DCE 手数 48
    2022-08-16 ____________ 月初空仓进行平仓! 合约 SP2301.SHF 手数 -20
    2022-08-16 _-_-_-_-_-_- 月初多仓进行平仓! 合约 PF2210.CZC 手数 35
    2022-08-16 _-_-_-_-_-_- 月初多仓进行平仓! 合约 P2209.DCE 手数 15
    2022-08-16 _-_-_-_-_-_- 月初多仓进行平仓! 合约 RM2301.CZC 手数 46
    2022-08-16 ____________ 月初空仓进行平仓! 合约 SA2301.CZC 手数 -28
    2022-08-16 ____________ 月初空仓进行平仓! 合约 ZN2209.SHF 手数 -10
    2022-08-16 ____________ 月初空仓进行平仓! 合约 I2301.DCE 手数 -18
    2022-08-16 ____________ 月初空仓进行平仓! 合约 FG2301.CZC 手数 -43
    2022-08-16 ____________ 月初建多仓! 合约 CF2301.CZC 手数 16
    2022-08-16 ____________ 月初建多仓! 合约 AP2210.CZC 手数 14
    2022-08-16 ____________ 月初建多仓! 合约 MA2301.CZC 手数 51
    2022-08-16 ____________ 月初建多仓! 合约 JD2301.DCE 手数 62
    2022-08-16 ____________ 月初建空仓! 合约 FG2301.CZC 手数 -42
    2022-08-16 ____________ 月初建空仓! 合约 I2301.DCE 手数 -17
    2022-08-16 ____________ 月初建空仓! 合约 FU2301.SHF 手数 -39
    2022-08-16 ____________ 月初建空仓! 合约 P2301.DCE 手数 -15
    2022-08-16 ____________ 月初建空仓! 合约 OI2301.CZC 手数 -11
    2022-08-17 winners: ['ZN8888.SHF', 'P8888.DCE', 'I8888.DCE', 'CU8888.SHF', 'RB8888.SHF'] losers: ['PF8888.CZC', 'EB8888.DCE', 'PP8888.DCE', 'EG8888.DCE', 'SF8888.CZC']
    2022-08-17 ____________ 月初空仓进行平仓! 合约 I2301.DCE 手数 -17
    2022-08-17 ____________ 月初空仓进行平仓! 合约 FG2301.CZC 手数 -42
    2022-08-17 _-_-_-_-_-_- 月初多仓进行平仓! 合约 CF2301.CZC 手数 16
    2022-08-17 _-_-_-_-_-_- 月初多仓进行平仓! 合约 AP2210.CZC 手数 14
    2022-08-17 _-_-_-_-_-_- 月初多仓进行平仓! 合约 MA2301.CZC 手数 51
    2022-08-17 _-_-_-_-_-_- 月初多仓进行平仓! 合约 JD2301.DCE 手数 62
    2022-08-17 ____________ 月初空仓进行平仓! 合约 FU2301.SHF 手数 -39
    2022-08-17 ____________ 月初空仓进行平仓! 合约 P2301.DCE 手数 -15
    2022-08-17 ____________ 月初空仓进行平仓! 合约 OI2301.CZC 手数 -11
    2022-08-17 ____________ 月初建多仓! 合约 ZN2209.SHF 手数 10
    2022-08-17 ____________ 月初建多仓! 合约 P2301.DCE 手数 15
    2022-08-17 ____________ 月初建多仓! 合约 I2301.DCE 手数 18
    2022-08-17 ____________ 月初建多仓! 合约 CU2209.SHF 手数 4
    2022-08-17 ____________ 月初建多仓! 合约 RB2210.SHF 手数 32
    2022-08-17 ____________ 月初建空仓! 合约 PF2210.CZC 手数 -36
    2022-08-17 ____________ 月初建空仓! 合约 EB2209.DCE 手数 -32
    2022-08-17 ____________ 月初建空仓! 合约 PP2301.DCE 手数 -34
    2022-08-17 ____________ 月初建空仓! 合约 EG2209.DCE 手数 -32
    2022-08-17 ____________ 月初建空仓! 合约 SF2210.CZC 手数 -34
    2022-08-18 winners: ['AL8888.SHF', 'RU8888.SHF', 'JD8888.DCE', 'AP8888.CZC', 'IC8888.CFX'] losers: ['SF8888.CZC', 'RB8888.SHF', 'MA8888.CZC', 'I8888.DCE', 'V8888.DCE']
    2022-08-18 _-_-_-_-_-_- 月初多仓进行平仓! 合约 I2301.DCE 手数 18
    2022-08-18 _-_-_-_-_-_- 月初多仓进行平仓! 合约 P2301.DCE 手数 15
    2022-08-18 _-_-_-_-_-_- 月初多仓进行平仓! 合约 ZN2209.SHF 手数 10
    2022-08-18 _-_-_-_-_-_- 月初多仓进行平仓! 合约 CU2209.SHF 手数 4
    2022-08-18 _-_-_-_-_-_- 月初多仓进行平仓! 合约 RB2210.SHF 手数 32
    2022-08-18 ____________ 月初空仓进行平仓! 合约 PF2210.CZC 手数 -36
    2022-08-18 ____________ 月初空仓进行平仓! 合约 EB2209.DCE 手数 -32
    2022-08-18 ____________ 月初空仓进行平仓! 合约 PP2301.DCE 手数 -34
    2022-08-18 ____________ 月初空仓进行平仓! 合约 EG2209.DCE 手数 -32
    2022-08-18 ____________ 月初空仓进行平仓! 合约 SF2210.CZC 手数 -34
    2022-08-18 ____________ 月初建多仓! 合约 AL2209.SHF 手数 14
    2022-08-18 ____________ 月初建多仓! 合约 RU2301.SHF 手数 9
    2022-08-18 ____________ 月初建多仓! 合约 JD2301.DCE 手数 61
    2022-08-18 ____________ 月初建多仓! 合约 AP2210.CZC 手数 14
    2022-08-18 ____________ 月初建空仓! 合约 SF2210.CZC 手数 -34
    2022-08-18 ____________ 月初建空仓! 合约 RB2210.SHF 手数 -31
    2022-08-18 ____________ 月初建空仓! 合约 MA2301.CZC 手数 -53
    2022-08-18 ____________ 月初建空仓! 合约 I2301.DCE 手数 -18
    2022-08-18 ____________ 月初建空仓! 合约 V2301.DCE 手数 -42
    2022-08-19 winners: ['TA8888.CZC', 'SA8888.CZC', 'BU8888.SHF', 'FU8888.SHF', 'EG8888.DCE'] losers: ['SM8888.CZC', 'OI8888.CZC', 'Y8888.DCE', 'P8888.DCE', 'CF8888.CZC']
    2022-08-19 ____________ 月初空仓进行平仓! 合约 I2301.DCE 手数 -18
    2022-08-19 ____________ 月初空仓进行平仓! 合约 RB2210.SHF 手数 -31
    2022-08-19 ____________ 月初空仓进行平仓! 合约 SF2210.CZC 手数 -34
    2022-08-19 _-_-_-_-_-_- 月初多仓进行平仓! 合约 AL2209.SHF 手数 14
    2022-08-19 _-_-_-_-_-_- 月初多仓进行平仓! 合约 RU2301.SHF 手数 9
    2022-08-19 _-_-_-_-_-_- 月初多仓进行平仓! 合约 JD2301.DCE 手数 61
    2022-08-19 _-_-_-_-_-_- 月初多仓进行平仓! 合约 AP2210.CZC 手数 14
    2022-08-19 ____________ 月初空仓进行平仓! 合约 MA2301.CZC 手数 -53
    2022-08-19 ____________ 月初空仓进行平仓! 合约 V2301.DCE 手数 -42
    2022-08-19 ____________ 月初建多仓! 合约 TA2301.CZC 手数 48
    2022-08-19 ____________ 月初建多仓! 合约 SA2301.CZC 手数 29
    2022-08-19 ____________ 月初建多仓! 合约 BU2212.SHF 手数 32
    2022-08-19 ____________ 月初建多仓! 合约 FU2301.SHF 手数 41
    2022-08-19 ____________ 月初建多仓! 合约 EG2301.DCE 手数 32
    2022-08-19 ____________ 月初建空仓! 合约 SM2209.CZC 手数 -37
    2022-08-19 ____________ 月初建空仓! 合约 OI2301.CZC 手数 -11
    2022-08-19 ____________ 月初建空仓! 合约 Y2301.DCE 手数 -13
    2022-08-19 ____________ 月初建空仓! 合约 P2301.DCE 手数 -15
    2022-08-19 ____________ 月初建空仓! 合约 CF2301.CZC 手数 -17
    2022-08-22 winners: ['SF8888.CZC', 'RM8888.CZC', 'EB8888.DCE', 'M8888.DCE', 'AP8888.CZC'] losers: ['PF8888.CZC', 'FU8888.SHF', 'SA8888.CZC', 'TA8888.CZC', 'BU8888.SHF']
    2022-08-22 _-_-_-_-_-_- 月初多仓进行平仓! 合约 TA2301.CZC 手数 48
    2022-08-22 _-_-_-_-_-_- 月初多仓进行平仓! 合约 SA2301.CZC 手数 29
    2022-08-22 _-_-_-_-_-_- 月初多仓进行平仓! 合约 BU2212.SHF 手数 32
    2022-08-22 _-_-_-_-_-_- 月初多仓进行平仓! 合约 FU2301.SHF 手数 41
    2022-08-22 _-_-_-_-_-_- 月初多仓进行平仓! 合约 EG2301.DCE 手数 32
    2022-08-22 ____________ 月初空仓进行平仓! 合约 SM2209.CZC 手数 -37
    2022-08-22 ____________ 月初空仓进行平仓! 合约 OI2301.CZC 手数 -11
    2022-08-22 ____________ 月初空仓进行平仓! 合约 Y2301.DCE 手数 -13
    2022-08-22 ____________ 月初空仓进行平仓! 合约 P2301.DCE 手数 -15
    2022-08-22 ____________ 月初空仓进行平仓! 合约 CF2301.CZC 手数 -17
    2022-08-22 ____________ 月初建多仓! 合约 SF2210.CZC 手数 33
    2022-08-22 ____________ 月初建多仓! 合约 RM2301.CZC 手数 45
    2022-08-22 ____________ 月初建多仓! 合约 EB2210.DCE 手数 31
    2022-08-22 ____________ 月初建多仓! 合约 M2301.DCE 手数 34
    2022-08-22 ____________ 月初建多仓! 合约 AP2210.CZC 手数 14
    2022-08-22 ____________ 月初建空仓! 合约 PF2210.CZC 手数 -36
    2022-08-22 ____________ 月初建空仓! 合约 FU2301.SHF 手数 -41
    2022-08-22 ____________ 月初建空仓! 合约 SA2301.CZC 手数 -27
    2022-08-22 ____________ 月初建空仓! 合约 TA2301.CZC 手数 -47
    2022-08-22 ____________ 月初建空仓! 合约 BU2212.SHF 手数 -32
    2022-08-23 winners: ['SA8888.CZC', 'SP8888.SHF', 'EB8888.DCE', 'P8888.DCE', 'EG8888.DCE'] losers: ['AU8888.SHF', 'AP8888.CZC', 'CS8888.DCE', 'SM8888.CZC', 'AG8888.SHF']
    2022-08-23 ____________ 月初空仓进行平仓! 合约 TA2301.CZC 手数 -47
    2022-08-23 ____________ 月初空仓进行平仓! 合约 SA2301.CZC 手数 -27
    2022-08-23 ____________ 月初空仓进行平仓! 合约 BU2212.SHF 手数 -32
    2022-08-23 ____________ 月初空仓进行平仓! 合约 FU2301.SHF 手数 -41
    2022-08-23 _-_-_-_-_-_- 月初多仓进行平仓! 合约 SF2210.CZC 手数 33
    2022-08-23 _-_-_-_-_-_- 月初多仓进行平仓! 合约 RM2301.CZC 手数 45
    2022-08-23 _-_-_-_-_-_- 月初多仓进行平仓! 合约 EB2210.DCE 手数 31
    2022-08-23 _-_-_-_-_-_- 月初多仓进行平仓! 合约 M2301.DCE 手数 34
    2022-08-23 _-_-_-_-_-_- 月初多仓进行平仓! 合约 AP2210.CZC 手数 14
    2022-08-23 ____________ 月初空仓进行平仓! 合约 PF2210.CZC 手数 -36
    2022-08-23 ____________ 月初建多仓! 合约 SA2301.CZC 手数 27
    2022-08-23 ____________ 月初建多仓! 合约 SP2301.SHF 手数 19
    2022-08-23 ____________ 月初建多仓! 合约 EB2210.DCE 手数 31
    2022-08-23 ____________ 月初建多仓! 合约 P2301.DCE 手数 15
    2022-08-23 ____________ 月初建多仓! 合约 EG2301.DCE 手数 31
    2022-08-23 ____________ 月初建空仓! 合约 AU2212.SHF 手数 -3
    2022-08-23 ____________ 月初建空仓! 合约 AP2210.CZC 手数 -14
    2022-08-23 ____________ 月初建空仓! 合约 CS2211.DCE 手数 -43
    2022-08-23 ____________ 月初建空仓! 合约 SM2301.CZC 手数 -36
    2022-08-23 ____________ 月初建空仓! 合约 AG2212.SHF 手数 -20
    2022-08-24 winners: ['FU8888.SHF', 'TA8888.CZC', 'RM8888.CZC', 'M8888.DCE', 'PF8888.CZC'] losers: ['L8888.DCE', 'T8888.CFX', 'CF8888.CZC', 'V8888.DCE', 'FG8888.CZC']
    2022-08-24 _-_-_-_-_-_- 月初多仓进行平仓! 合约 SA2301.CZC 手数 27
    2022-08-24 _-_-_-_-_-_- 月初多仓进行平仓! 合约 EB2210.DCE 手数 31
    2022-08-24 ____________ 月初空仓进行平仓! 合约 AP2210.CZC 手数 -14
    2022-08-24 _-_-_-_-_-_- 月初多仓进行平仓! 合约 SP2301.SHF 手数 19
    2022-08-24 _-_-_-_-_-_- 月初多仓进行平仓! 合约 P2301.DCE 手数 15
    2022-08-24 _-_-_-_-_-_- 月初多仓进行平仓! 合约 EG2301.DCE 手数 31
    2022-08-24 ____________ 月初空仓进行平仓! 合约 AU2212.SHF 手数 -3
    2022-08-24 ____________ 月初空仓进行平仓! 合约 CS2211.DCE 手数 -43
    2022-08-24 ____________ 月初空仓进行平仓! 合约 SM2301.CZC 手数 -36
    2022-08-24 ____________ 月初空仓进行平仓! 合约 AG2212.SHF 手数 -20
    2022-08-24 ____________ 月初建多仓! 合约 FU2301.SHF 手数 38
    2022-08-24 ____________ 月初建多仓! 合约 TA2301.CZC 手数 45
    2022-08-24 ____________ 月初建多仓! 合约 RM2301.CZC 手数 42
    2022-08-24 ____________ 月初建多仓! 合约 M2301.DCE 手数 33
    2022-08-24 ____________ 月初建多仓! 合约 PF2210.CZC 手数 34
    2022-08-24 ____________ 月初建空仓! 合约 L2301.DCE 手数 -33
    2022-08-24 ____________ 月初建空仓! 合约 T2212.CFX 手数 -1
    2022-08-24 ____________ 月初建空仓! 合约 CF2301.CZC 手数 -17
    2022-08-24 ____________ 月初建空仓! 合约 V2301.DCE 手数 -40
    2022-08-24 ____________ 月初建空仓! 合约 FG2301.CZC 手数 -43
    
    • 收益率-14.03%
    • 年化收益率-62.35%
    • 基准收益率-8.98%
    • 阿尔法-0.56
    • 贝塔0.26
    • 夏普比率-4.24
    • 胜率0.42
    • 盈亏比0.93
    • 收益波动率23.06%
    • 信息比率-0.09
    • 最大回撤15.51%
    bigcharts-data-start/{"__type":"tabs","__id":"bigchart-adc2b46603524d358bcd74222c413814"}/bigcharts-data-end