zoukankan      html  css  js  c++  java
  • 计算布林带指标

    import pandas as pd
    def JK_Boll(security_list,end_date,count = None,start_date = None,n=20):
        if type(security_list)==str:
            security_list=[security_list]
        datalist = get_price(security=security_list,start_date=start_date,end_date=end_date,
                             frequency='daily', fields=['close'], fq='pre',count=count)
        json = {}
        for security_code in security_list:
            df = datalist.minor_xs(security_code)
            
            df['boll_up'],df['boll_down'] =Boll(df,n)
                    
            json[security_code] = pd.DataFrame(data=df,index=df.index)  
        result = pd.Panel(data=json)
        return result

    #传入df的index是日期,cloumn是['close'],需要的数据列名。
    def Boll(df,n=20):
        df['mid'] = df['close'].rolling(n).mean()
        df['boll_up'] = df['mid'] + 2*df['close'].rolling(n).std()
        df['boll_down'] = df['mid'] - 2*df['close'].rolling(n).std()
        return df['boll_up'],df['boll_down']
    JK_Boll('000002.XSHE','2019-01-01')['000002.XSHE']

  • 相关阅读:
    python-杂烩
    24 Python 对象进阶
    23 Python 面向对象
    22 Python 模块与包
    21 Python 异常处理
    20 Python 常用模块
    18 Python 模块引入
    2 Python 基本语法
    1 Python 环境搭建
    3 Python os 文件和目录
  • 原文地址:https://www.cnblogs.com/Yangami/p/10636262.html
Copyright © 2011-2022 走看看