zoukankan      html  css  js  c++  java
  • 金融量化分析【day112】:均值回归策略

    一、均值回归策略

    1、什么是回归策略

     二、归一标准化

    import numpy as np
    a = np.random.uniform(100,5000,1000)
    b = np.random.uniform(0.1,3.0,1000)
    (a.min(),a.max())
    

      输出

    预处理

    (a - a.min())/(a.max()-a.min())
    

      输出

    预处理

    aa = (a - a.min())/(a.max()-a.min())
    bb = (b - b.min())/(b.max()-b.min())
    (aa.min(),aa.max())
    

      输出

    画图

    aaa = (a - a.mean())/a.std()
    import matplotlib.pyplot as plt
    %matplotlib
    plt.hist(aaa)
    

    输出

    二、均值回归策略代码

    # 导入函数库
    import jqdata
    import math
    import numpy as np
    import pandas as pd 
    
    def initialize(context):
        set_benchmark('000002.XSHG')
        set_option('use_real_price', True)
        set_order_cost(OrderCost(close_tax=0.001, open_commission=0.0003, close_commission=0.0003, min_commission=5), type='stock')
    
        g.security = get_index_stocks('000002.XSHG')
        
        g.ma_days = 30 
        g.stock_num = 10  
        
        run_monthly(handle, 1)
        
    def handle(context):
        
        sr = pd.Series(index=g.security)
        for stack in sr.index:
            ma = attribute_history(stack,g.stock_days)['close'].mean
            p = get_current_data()[stack].day_open
            ratio = (ma-p)/ma
            sr[stock] = ratio
        tohold = sr.nlarges(g.stock_num).index.values
        
        
        for stock in context.portfolio/positions:
            if stock not in tohold:
                 order_target_value(stock, 0)
            
        tobuy = [stock for stock in tohold if stock not in context.portfolio.positions]
        
        if len(tobuy)>0:
            cash = context.portfolio.available_cash
            cash_every_stock = cash / len(tobuy)
            
            for stock in tobuy:
                order_value(stock,cash_every_stock)
    

      

  • 相关阅读:
    史上最全设计模式导学目录(完整版)
    代码整洁之道读后感(三)
    代码整洁之道读后感(二)
    代码整洁之道读后感(一)
    groovy的三个强劲属性(一)Gpath
    spring mvc 自定义编辑器
    Class.this 和 this 的有什么不同
    python 异常知识点
    Freemaker 自定义指令和函数
    Freemaker如何遍历key为non-string类型的map?
  • 原文地址:https://www.cnblogs.com/luoahong/p/9857839.html
Copyright © 2011-2022 走看看