使用Python获取破百日新高的股票

很多人进行数据分析,数据来源是个问题,免费的东西不好找啊。网上找了好长时间,发现一个不错的数据接口包-TuShare,关键是免费的,看看他们的介绍。


TuShare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。

除了交易的相关数据外,还有宏观经济、新闻事件,电影的相关数据,很棒,它们的网站:tushare.org。

这里分享一个代码:

import tushare as ts #插入财经数据接口包

import datetime

#获取沪深上市公司基本情况

info=ts.get_stock_basics()#

#定义一个函数,浏览所有股票,选出突破100日新高的所有股票

def loop_all_stocks():

for EachStockID in info.index:

if is_break_high(EachStockID,100):

print "High price on",

print EachStockID,

print info.ix[EachStockID]['name'].decode('utf-8')#dataframe.ix可以混合使用索引和下标进行访问

#定义一个判定股价是否破N日新高的函数

def is_break_high(stockID,days):

end_day=datetime.date(datetime.date.today().year,datetime.date.today().month,datetime.date.today().day)

days=days*7/5

#考虑到周六日非交易,加上周末,算出实际的天数

start_day=end_day-datetime.timedelta(days)

start_day=start_day.strftime("%Y-%m-%d")#返回以可读字符串表示的当地时间。

end_day=end_day.strftime("%Y-%m-%d")

df=ts.get_h_data(stockID,start=start_day,end=end_day)#获取前复权数据

period_high=df['high'].max()#统计期内的最高价的最大值

#print period_high

today_high=df.iloc[0]['high']#选取第一行的最高价数据,就是指当天的最高价

#这里不能直接用 .values

#如果用的df【:1】 就需要用.values

#print today_high

if today_high>=period_high:

return True

else:

return False

loop_all_stocks()

这个代码比较简单,定义了两个函数,一个是筛选突破N日的股票,需要多少日,就用具体数字替换即可。另外一个是判定一个股票当前是否突破N日新高。

这里有一个小问题,就是计算100日周期的时候,由于有些股票有停盘和节假日等的影响,导致选取的周期与100日微小的差异,之时简略的用days=days*7/5,如何精确的表示,我目前还不知道。这个问题先留着,等深入学习后再优化吧。

运行一下,如下图,选了不少股票了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • datetime模块 创建datetime对象,以及其包含的属性 from datetime import dat...
    KevinCool阅读 2,241评论 0 0
  • 目录 1. 类型汇总 2.数据类型转换 3.列表 4.元组 5.日期和时间 6.字典 一、 类型汇总 1.字符串 ...
    古佛青灯度流年阅读 682评论 2 1
  • 原文链接:http://www.cnblogs.com/lhj588/archive/2012/04/23/246...
    qtruip阅读 1,353评论 0 0
  • 路上的街灯亮了 影影绰绰 各色的面庞在光影里, 分离,重叠。 下一个路口 下一个街角 你 就在那里。 光与夜在密谋...
    知子已知阅读 294评论 2 1
  • 下周要去北京参加母乳指导的手法复训。 比起去年三月去济南学习入行班,我这次竟然有许多忐忑和不安,可能是因为二月和三...
    lindacui阅读 137评论 0 1