导航:首页 > 数据行情 > python获得股票分钟k线

python获得股票分钟k线

发布时间:2024-01-26 11:36:16

‘壹’ python用什么方法或者库可以拿到全部股票代码

首先你需要知道哪个网站上有所有股票代码,然后分析这个网站股票代码的存放方式,再利用python写一个爬虫去爬取所有的股票代码

‘贰’ tushare的接口怎么样使用

安装TuShare
方式1:pip install tushare
方式2:访问https://pypi.python.org/pypi/tushare/下载安装
方式3:将源代码下载到本地python setup.py install
升级TuShare
1、先查看本地与线上的版本版本号:
pip search tushare
2、升级TuShare:
pip install tushare --upgrade
确认安装成功
import tushare as ts
print ts.__version__
获取历史交易数据
import tushare as ts
df = ts.get_hist_data(‘600848’)
ts.get_hist_data(‘600848’,ktype='W‘) #获取周k线数据
ts.get_hist_data('600848’,ktype='M‘) #获取月k线数据
ts.get_hist_data('600848’,ktype='5‘) #获取5分钟k线数据
ts.get_hist_data('600848’,ktype='15‘) #获取15分钟k线数据
ts.get_hist_data('600848’,ktype='30‘) #获取30分钟k线数据
ts.get_hist_data('600848’,ktype='60‘) #获取60分钟k线数据
ts.get_hist_data('sh’)#获取上证指数k线数据,其它参数与个股一致,下同
ts.get_hist_data(‘sz’)#获取深圳成指k线数据 ts.get_hist_data(‘hs300’)#获取沪深300指数k线数据
ts.get_hist_data(‘sz50’)#获取上证50指数k线数据
ts.get_hist_data(‘zxb’)#获取中小板指数k线数据
ts.get_hist_data(‘cyb’)#获取创业板指数k线数据
Python财经数据接口包TuShare的使用
获取历史分笔数据
df = ts.get_tick_data(‘000756','2015-03-27’)
df.head(10)
Python财经数据接口包TuShare的使用
获取实时分笔数据
df = ts.get_realtime_quotes(‘000581’)
print df[['code','name','price','bid','ask','volume','amount','time']]
返回值说明:
0:name,股票名字
1:open,今日开盘价
2:pre_close,昨日收盘价
3:price,当前价格
4:high,今日最高价
5:low,今日最低价
6:bid,竞买价,即“买一”报价
7:ask,竞卖价,即“卖一”报价
8:volumn,成交量 maybe you need do volumn/100
9:amount,成交金额(元 CNY)
10:b1_v,委买一(笔数 bid volume)
11:b1_p,委买一(价格 bid price)
12:b2_v,“买二”
13:b2_p,“买二”
14:b3_v,“买三”
15:b3_p,“买三”
16:b4_v,“买四”
17:b4_p,“买四”
18:b5_v,“买五”
19:b5_p,“买五”
20:a1_v,委卖一(笔数 ask volume)
21:a1_p,委卖一(价格 ask price)

30:date,日期
31:time,时间

‘叁’ 怎样用Python写一个股票自动交易的程序

方法一前期的数据抓取和分析可能python都写好了庆察,所以差这交易指令接口最后一步。

对于股票的散户,正规的法子是华宝,国信,兴业这样愿意给接口的券商,但貌似开户费很高才给这权利,而且只有lts,ctp这样的c++接口,没python版就需要你自己封装。方法二是wind这样的软件也有直镇拦接的接口,支持部分券商,但也贵,几万一年是要的。方法三鼠标键盘模拟法,很复杂的,就是模拟键盘鼠标去操作一些软件,比如券商版交易软件和大智慧之类的。方法四就是找到这些软件的关于交易指令的底层代码并更改,不过T+1的规则下,预誉旅茄测准确率的重要性高于交易的及时性,花功夫做数据分析就好,交易就人工完成吧

‘肆’ 如何使用Python获取股票分时成交数据

可以使用爬虫来爬取数据,在写个处理逻辑进行数据的整理。你可以详细说明下你的需求,要爬取的网站等等。
希望我的回答对你有帮助

‘伍’ 如何使用python 抓取雪球网页

现在关注一个组合,就会有持仓变动的提示了。不过我觉得这事情挺有意思的。比如可以把很多持仓的数据都抓下来,做一些综合的分析,看看现在网站上被持有最多的股票是哪一支,某一天被调入最多的又是哪一支之类。
于是我决定来抓抓看,顺便借此说说我通常用程序做自动抓取的过程。
Step.1 分析页面
要抓一个网页,首先自然是要“研究”这个网页。通常我会用两种方式:
一个是 Chrome 的 Developer Tools。通过它里面的 Network 功能可以看到页面发出的所有网络请求,而大多数数据请求都会在 XHR 标签下。点击某一个请求,可以看到其具体信息,以及服务器的返回结果。很多网站在对于某些数据会有专门的请求接口,返回一组 json 或者 XML 格式的数据,供前台处理后显示。

另一个就是直接查看网页源代码。通常浏览器的右键菜单里都有这个功能。从页面的 HTML 源码里直接寻找你要的数据,分析它格式,为抓取做准备。
对于雪球上的一个组合页面 粗略地看了一下它发出的请求,并没有如预想那样直接找到某个数据接口。看源代码,发现有这样一段:
SNB.cubeInfo = {"id":10289,"name":"誓把老刀挑下位","symbol":"ZH010389" ...此处略过三千字... "created_date":"2014.11.25"}
SNB.cubePieData = [{"name":"汽车","weight":100,"color":"#537299"}];

cubeInfo 是一个 json 格式的数据,看上去就是我们需要的内容。一般我会找个格式化 json 的网站把数据复制进去方便查看。

这应该就是组合的持仓数据。那么接下来,一切似乎都简单了。只要直接发送网页请求,然后把其中 cubeInfo 这段文字取出,按 json 读出数据,就完成了抓取。甚至不用动用什么 BeautifulSoup、正则表达式。
Step.2 获取页面
分析完毕,开抓。
直接 urllib.urlopen 向目标网页发送请求,读出网页。结果,失败了……
看了下返回结果:
403 Forbidden
You don't have permission to access the URL on this server. Sorry for the inconvenience.

被拒了,所以这种赤裸裸地请求是不行的。没关系,那就稍微包装一下:
send_headers = {
'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Connection':'keep-alive',
'Host':'xueqiu.com',
'Cookie':r'xxxxxx',
}
req = urllib2.Request(url, headers=send_headers)
resp = urllib2.urlopen(req)
html = resp.read()

header 数据都可以从 Developer Tools 里拿到。这次顺利抓到页面内容。
一般网站或多或少都会对请求来源做一些阻拦,通过加 header 可以搞定大部分情况。
Step.3 提取数据
因为这个数据比较明显,直接用通过一些字符串查找和截取操作就可以取出来。
pos_start = html.find('SNB.cubeInfo = ') + len('SNB.cubeInfo = ')
pos_end = html.find('SNB.cubePieData')
data = html[pos_start:pos_end]
dic = json.loads(data)

dic 就是一个包含数据的字典对象。之后想干什么就随便你了。
对于复杂一点的情况,可以通过 BeautifulSoup 来定位 html 标签。再不好办的,就用正则表达式,基本都可以解决掉。
Step.4 处理数据
因为我想对数据进行持久化存储,并且做展示和分析,所以我用了 django 里的 ORM 来处理抓下来的数据。
# add Portfolio
portfolio, c = models.Portfolio.objects.get_or_create(code=dic['symbol'])
portfolio.name = dic['name']
portfolio.earnings = dic['total_gain']
portfolio.save()
# add Stock
stocks = dic['view_rebalancing']['holdings']
for s in stocks:
stock, c = models.Stock.objects.get_or_create(code=s['stock_symbol'])
stock.name = s['stock_name']
stock.count += 1
stock.weight += s['weight']
stock.save()

Portfolio 记录下组合及其收益,Stock则记录每支股票的被收录数和总收录份额。
对于抓取到的,一般也可以存在文件中,或者直接通过 SQL 存入数据库,视不同情况和个人喜好而定。
Step.5 批量抓取
前面的一套做下来,就完整地抓取了一组数据。要达到目的,还要设计一下批量抓取的程序。
一个要解决的问题就是如何获得组合列表。这个可以再通过另一个抓取程序来实现。然后根据这些列表来循环抓取就可以了。
若要细究,还要考虑列表如何保存和使用,如何处理抓取失败和重复抓取,如何控制抓取频率防止被封,可否并行抓取等等。
Step.6 数据分析
数据有了,你要怎么用它,这是个很大的问题。可以简单的统计现象,也可以想办法深入分析背后隐藏的逻辑。不多说,我也还只是在摸索之中。

‘陆’ Python量化教程:不得不学的K线图“代码复制可用”

不管是对量化分析师还是普通的投资者来说,K线图(蜡烛图)都是一种很经典、很重要的工具。在K线图中,它会绘制每天的最高价、最低价、开盘价和收盘价,这对于我们理解股票的趋势以及每天的多空对比很有帮助。

一般来说,我们会从各大券商平台获取K线图,但是这种情况下获得的K线图往往不能灵活调整,也不能适应复杂多变的生产需求。因此我们有必要学习一下如何使用Python绘制K线图。

需要说明的是,这里mpl_finance是原来的matplotlib.finance,但是现在独立出来了(而且好像没什么人维护更新了),我们将会使用它提供的方法来绘制K线图;tushare是用来在线获取股票数据的库;matplotlib.ticker中有个FuncFormatter()方法可以帮助我们调整坐标轴;matplotlib.pylab.date2num可以帮助我们将日期数据进行必要的转化。

我们以上证综指18年9月份以来的行情为例。

我们先使用mpl_finance绘制一下,看看是否一切正常。

可以看到,所有的节假日包括周末,在这里都会显示为空白,这对于我们图形的连续性非常不友好,因此我们要解决掉他们。

可以看到,空白问题完美解决,这里我们解释一下。由于matplotlib会将日期数据理解为 连续数据 ,而连续数据之间的间距是有意义的,所以非交易日即使没有数据,在坐标轴上还是会体现出来。连续多少个非交易日,在坐标轴上就对应了多少个小格子,但这些小格子上方并没有相应的蜡烛图。

明白了它的原理,我们就可以对症下药了。我们可以给横坐标(日期)传入连续的、固定间距的数据,先保证K线图的绘制是连续的;然后生成一个保存有正确日期数据的列表,接下来,我们根据坐标轴上的数据去取对应的正确的日期,并替换为坐标轴上的标签即可。

上边format_date函数就是这个作用。由于前边我们给dates列生成了从0开始的序列连续数据,因此我们可以直接把它当作索引,从真正的日期列表里去取对应的数据。在这里我们要使用matplotlib.ticker.FuncFormattter()方法,它允许我们指定一个格式化坐标轴标签的函数,在这个函数里,我们需要接受坐标轴的值以及位置,并返回自定义的标签。

你学会了吗?

当然,一个完整的K线图到这里并没有结束,后边我们会考虑加入均线、成交量等元素,感兴趣的同学欢迎关注哦!

‘柒’ 股票池如何用python构建

股票池用python构建的方法是:使用第三方平台,目前可以使用的是聚宽,对比一下聚宽、优矿、大宽网(已经倒闭了),都大同小异,选哪个都一样。

虽然这些平台都大同小异,但是代码可不能简单复制粘贴,因为底层函数库是不一样的,有可能在别的平台根本用不了某个函数,并且简单复制到自己电脑中的python的话百分之百用不了。

代码的思路是,每个月底进行调仓,选出市值最小的股票交易,去掉ST/*ST/停牌/涨停的股票,然后选择最小市值的10只,基准是创业板综指,看看结果。

python构建数据获取方法是:

这里使用为了接下来的操作需要将一定历史范围的股票数据下载下来,这里下载起始时间为20160101,截至时间为运行代码的时间范围的历史日线数据。

这里以tushare为例, tushare获取历史数据有两种方式。

第一种是以迭代历史交易日的方式获取所有历史数据,假设获取三年的历史数据,一年一般220个交易日左右,那么3年需要请求660多次左右,如果以这种方式的话,就下载数据的时间只需要1分钟多点的样子。

第二种是以迭代所有股票代码的方式获取所有历史数据,股票数量有大概3800多个,需要请求3800多次,但是在积分有限的情况下一分钟最多请求500次,也就意味着仅下载数据的时间至少需要大概8分钟时间。

理论上,你获取的历史范围超过17.3年,那么使用第一种方式才比第二种方式快。

‘捌’ python 设计一个名为Stock的类来表示一个公司的股票

是的,设计一个名为 Stock的类表示股票,该类包括:
1、一个名为symbol的字符串数据域表示股票代码:
2、一个名为name的字符串数据域表示股票名称;
3、一个名为previousPrice的double型数据域,用来存储股票的前一 日收盘价:
4、一个名为currentPrice的double型数据域,用来存储股票的当前价格:
5、创建一个给定特定代码和名称的股票构造方法:
6、一个名为getChangePercentO方法,返回从前的日价格到当前价格变化的百分比。
实现这个类,编写个测试程序,创建一个Stock 对象,它的股票代码是600000,股票名称是“浦发银行”,前一日收盘价是 25.5元,当前的最新价是28.6元,显示市值变化的百分比。

拓展资料
设计一个Stock类和DividendStock类
编写了一个表示拥有股票情况的Stock类,这里给出了一个简化版,去掉了对参数的合法性的检查等细节,现在需要创建一个可以发放分红的股票。红利的多少和持有股票的数量成正比,不是所有的股票都是会有分红的,所以不能直接在Stock类上直接增加这个功能,而是应该在Stock类的基础上,继承一个DividendStock类。并在这个子类中增加分红的属性和行为。
(1)一个用于记录分红的字段dividents
(2)重写父类的getProfit方法(在父类的getProfit方法的基础上还要加上分红的)
父类的getProfit+股票的总的分红(也就是字段dividents的值)
(3)增加计算分红的方法,方法中的参数表示每股的红利,可以理解为成员变量dividents赋值: 股票的总的分红=每股的红利*总股数
public void payDividend(double amountPerShare)
编写一个测试的程序,创建一个名为”Oracle”的分红股票,先后以单价32元购买200股,以单价40元购买350股。每股的分红2.8元。这支股票的当前价格是每股50元。

阅读全文

与python获得股票分钟k线相关的资料

热点内容
长期股权投资权益法购入股票 浏览:952
中国平安股份股票行情 浏览:462
股票训练软件那个好 浏览:201
当股票变为st时怎么办 浏览:569
股票重组复牌后 浏览:560
股票账户更新身份证件审核需要多久 浏览:591
如何查看股票公司的每年盈利 浏览:703
股票池下载数据 浏览:584
通信达如何看两天涨停的股票 浏览:567
科达科技股份股票 浏览:837
股票散户和机构资金哪个多 浏览:150
股票开户需要多少资金 浏览:771
平安证券的股票交易佣金 浏览:308
船科技股份有限公司股票代码 浏览:165
海信股票行情走势 浏览:316
中国国平安股票代码 浏览:548
贵州茅台资产负债表与股票关系 浏览:931
香港大家乐股票代码 浏览:460
股票短期投资者获得的主要收益是什么 浏览:443
买股票的记账股权投资 浏览:694