股市中不缺乏神話,追到神話不容易,在股市每日都能追到這些股票,那一定是神。
但是看看神話卻不難,讓我們先羨慕一下“神”的生活。
這個方法並不複雜,但是我們可以每日把最近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日前的走勢,何時是一個買點,看看其公告,其實都有一些信息可尋,本人有點小心得,但不敢在此班門弄斧,若有同行興趣,可以私聊聯繫一起探討(絕不薦股,本人也沒有那個能力,主要是分析股票在某些指標之下可能上漲的概率)。