用Python選取神股(簡單、粗暴)

股市中不缺乏神話,追到神話不容易,在股市每日都能追到這些股票,那一定是神。
但是看看神話卻不難,讓我們先羨慕一下“神”的生活。

這個方法並不複雜,但是我們可以每日把最近N日漲幅或跌幅最高的部分股票篩選出來,盡心研究。例如最近10日漲幅最大的20只股票。
特別提示:這些股票一般是已經漲的差不多了,不宜再繼續追高。

代碼很簡單,主要用了tushare獲取股市數據,然後進行分析就可以。

用get_day_all()取得所有代碼,
用get_k_data()取當天股票(大約需要9點後才能得到數據)
然後就可以用dataframe 來計算最近N日的股票收益,
例如 附圖就是最近10日(2周)的收益最高的20只股票(截止2019年9月6日),股民朋友可以對這些股票每日進行復盤分析,自己從中找出可能收益較高的股票。

也可以稍微修改代碼,例如選出下跌最多的股票,查看下跌的趨勢,或者收益分佈在50名左右的股票,再看看這些股票哪些是值得投資;或者選出最近5日漲幅較高的股票,看看是否有追漲的空間。

#不要遇到一點困難就悲觀,不要遇到一點挑戰就投降

# -*- coding: utf-8 -*-
# 檢測實時行情,計算N日內最大漲幅
import tushare  as ts
import pandas as pd
import numpy as np  
import datetime
# 取所有股票
all = ts.get_day_all()

rf = pd.DataFrame(columns = ['date','open','close','high','low','volume','code','close2','date2'])

curDate = datetime.date.today()-datetime.timedelta(days=1) #昨天, get_k_data 在晚上還經常取不到當天信息
nDate = curDate-datetime.timedelta(days=30)  #30天數據基本可保證可以跨越假期
for scode in all['code']:  #該循環計算需要10分鐘左右
    df = ts.get_k_data(scode,nDate.strftime('%Y-%m-%d'), curDate.strftime('%Y-%m-%d'),autype='qfq')  #默認前復權,   默認前復權?
    if(len(df)>10):  #計算每隻股票 10天以來的漲跌幅(大約2周)
        df['close2']  = df['close'].shift(10)
        df['date2'] = df['date'].shift(10)
        df['close2']  = df['close'].shift(10)
        rf = rf.append(df.tail(1))  #最後一行是所需的數據,即當天與8天前的比較
 
# close2 前N日的股價,close 當前股價,pclose 升值率
rf['pclose']=(rf['close']-rf['close2'])/rf['close2']

rf = rf.sort_values(by="pclose" , ascending=False) 

df1 = rf[['code','close2','date2']]
df2 = all[['code','name','price','industry','area']]

result = pd.merge(df1, df2, on='code')  #合併兩個dataframe
result['pclose']=(result['price']-result['close2'])/result['close2']
result.to_excel('Ndays.xls')   #結果寫入excel文件
print(result.head(20))     顯示前20名漲幅最大的股票

從下圖可以看出,至9月開門紅的第一週(8月23日至9月6日),漲幅最高的浙江廣夏上漲超過74%,top20 中的新上市小熊電器上漲超過40%。
在這裏插入圖片描述
下圖是浙江廣廈的走勢圖,可以研究一下其10日前的走勢,何時是一個買點,看看其公告,其實都有一些信息可尋,本人有點小心得,但不敢在此班門弄斧,若有同行興趣,可以私聊聯繫一起探討(絕不薦股,本人也沒有那個能力,主要是分析股票在某些指標之下可能上漲的概率)。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章