• 均线交易策略


    目的:从所有股票中选出符合买入策略的股票。

    符合买入条件:

    1、当天5日均线数据大于等于10日均线数据;

    2、昨天5日均线数据小于10日均线数据;

    3、10日均线数据处于上升趋势。

    代码实现如下:

     1 import tushare as ts
     2 import pandas as df
     3 import datetime
     4 def getStockHistoryData():
     5     data = ts.get_hist_data(code = "002456",start = "2019-07-20", end = "2019-7-26", ktype = "D")
     6     data.to_csv("stockData.csv")
     7     print(data)
     8     pass
     9 
    10 def choiceStock():
    11     """
    12     :param stockData:
    13     :return:
    14     1、当天5日均线大于10日均线;
    15     2、前一天5日均线小于10日均线;
    16     """
    17     stockChoiced = []
    18     endDate = datetime.datetime.now()   #获取当天日期
    19     offset = datetime.timedelta(days = -3)  #设置时间偏移量
    20     startDate = (endDate + offset).strftime("%Y-%m-%d")  #获取startDate
    21     endDate = endDate.strftime("%Y-%m-%d")
    22 
    23     stockBasic = ts.get_stock_basics()        #获取所有股票数据信息
    24     stockCode = stockBasic.index              #获取所有股票代码
    25 
    26     for i in range(1,30):
    27         code = stockCode[i]                    #
    28         getCondCode = stockChoicTragy(code,startDate,endDate)  #获取满足条件的股票信息
    29         if(getCondCode):
    30             stockChoiced.append(getCondCode)                   #将符合条件的股票加入到列表中
    31 
    32     return stockChoiced
    33 
    34 def stockChoicTragy(code,startDate,endDate):
    35     data = ts.get_hist_data(code = code, start=startDate, end=endDate)  #获取指定时间范围内的股票数据
    36     data = data[["ma5","ma10","ma20"]].sort_index(ascending=False)   #按日期升序排列
    37     ma5Data = data["ma5"]       #获取5日均线数据
    38     ma10Data = data["ma10"]     #获取10日均线数据
    39 
    40     if(len(data) >= 2):
    41         condition1 = ma5Data[0] >= ma10Data[0]    #当天5日均线数据大于等于10日均线数据
    42         condition2 = ma5Data[1] < ma10Data[1]    #昨天5日均线数据小于10日均线数据
    43         condition3 = ma10Data[0] > ma10Data[1]   #10日均线数据呈上升趋势
    44 
    45         if(condition1 and condition2 and condition3):
    46             return code
    47 
    48 if __name__ == "__main__":
    49     stock = choiceStock()
    50     print(stock)
    
    
  • 相关阅读:
    一个重构眼中的“项目管理”
    vim显示行号、语法高亮、自动缩进的设置
    python中的try/except/else/finally语句--自我小结
    python 列表函数
    python异常处理
    gerrit使用总结
    数据访问对象模式
    组合实体模式
    业务代表模式
    MVC模式
  • 原文地址:https://www.cnblogs.com/feiqixia/p/11253505.html
Copyright © 2020-2023  润新知