均線交易策略


目的:從所有股票中選出符合買入策略的股票。

符合買入條件:

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)

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM