作为一个python新手,在学习中遇到很多问题,要善于运用各种方法。今天,在学习中,碰到了如何通过收盘价计算股票的涨跌幅。
第一种:
读取数据并建立函数:
import numpy as np
import matplotlibpyplot as plt
from scipyinterpolate import spline
from pylab import
import pandas as pd
from pandas import Series
a=pdread_csv('d:///1csv',sep=',')#文件位置
t=a['close']
def f(t):
s=[]
for i in range(1,len(t)):
if i==1:
continue
else:
sappend((t[i]-t[i-1])/t[i]100)
print s
plot(s)
pltshow()
f(t)
第二种:
利用pandas里面的方法:
import pandas as pd
a=pdread_csv('d:///1csv')
rets = a['close']pct_change() 100
print rets
第三种:
close=a['close']
rets=close/closeshift(1)-1
print rets
总结:python是一种非常好的编程语言,一般而言,我们可以运用构建相关函数来实现自己的思想,但是,众所周知,python中里面的有很多科学计算包,里面有很多方法可以快速解决计算的需要,如上面提到的pandas中的pct_change()。因此在平时的使用中应当学会寻找更好的方法,提高运算速度。
本程序使用Python 276编写,扩展了Python自带的HTMLParser,自动根据预设的股票代码列表,从Yahoo Finance抓取列表中的数据日期、股票名称、实时报价、当日变化率、当日最低价、当日最高价。
由于Yahoo Finance的股票页面中的数值都有相应id。
例如纳斯达克100指数ETF(QQQ)
其中实时报价的HTML标记为
[html] view plain copy
<span id="yfs_l84_qqq">8749</span>
而标普500指数ETF(SPY)
其中实时报价的HTML标记为
[html] view plain copy
<span id="yfs_l84_spy">18725</span>
因此本数据抓取程序根据相应的id字符串来查找数据。具体来说就是先继承HTMLParser,然后在自定义的子类中重载handle_data(self, data)方法,查找包含相应id字符串(例如实时报价的id字符串为"yfs_l84_"+股票代码)的HTML标记,并输出这个HTML标记中的数据(例如qqq的<span id="yfs_l84_qqq">8749</span>,其中的数据8749就是实时报价。)
样本输出:
数据依次是
数据日期 股票代码 股票名称 实时报价 日变化率 日最低价 日最高价
[python] view plain copy
05/05/2014 ibb iShares Nasdaq Biotechnology (IBB) 23328 185% 22534 23328
05/05/2014 socl Global X Social Media Index ETF (SOCL) 1748 017% 1712 1753
05/05/2014 pnqi PowerShares NASDAQ Internet (PNQI) 6261 035% 6146 6274
05/05/2014 xsd SPDR S&P Semiconductor ETF (XSD) 6715 012% 6620 6741
05/05/2014 ita iShares US Aerospace & Defense (ITA) 11034 115% 10862 11056
05/05/2014 iai iShares US Broker-Dealers (IAI) 3742 -021% 3686 3742
05/05/2014 vbk Vanguard Small Cap Growth ETF (VBK) 11997 -003% 11837 12009
05/05/2014 qqq PowerShares QQQ (QQQ) 8795 053% 8676 8797
05/05/2014 ewi iShares MSCI Italy Capped (EWI) 1786 -056% 1765 1789
05/05/2014 dfe WisdomTree Europe SmallCap Dividend (DFE) 6233 -011% 6194 6239
05/05/2014 pbd PowerShares Global Clean Energy (PBD) 1303 000% 1297 1305
05/05/2014 eirl iShares MSCI Ireland Capped (EIRL) 3852 -016% 3839 3860
方法一前期的数据抓取和分析可能python都写好了,所以差这交易指令接口最后一步。
对于股票的散户,正规的法子是华宝,国信,兴业这样愿意给接口的券商,但貌似开户费很高才给这权利,而且只有lts,ctp这样的c++接口,没python版就需要你自己封装。方法二是wind这样的软件也有直接的接口,支持部分券商,但也贵,几万一年是要的。方法三鼠标键盘模拟法,很复杂的,就是模拟键盘鼠标去 *** 作一些软件,比如券商版交易软件和大智慧之类的。方法四就是找到这些软件的关于交易指令的底层代码并更改,不过T+1的规则下,预测准确率的重要性高于交易的及时性,花功夫做数据分析就好,交易就人工完成吧现在几乎所有的大网站都在主要的栏目 做了防爬行的处理。 象这样的还算是简单的。 大不了你分析一下JS。 如果不想分析JS。就麻烦 些。 你安装一个pyqt,里面有一个qtbrowser, 你可以驱动这个浏览器去爬行。要几百行代码才能搞定。
首先证券公司会提供一些API给你,使用的时tushare这个库。
首先安装tushare这个库
pip install tushare
打开IDE,使用的时pycharm这个工具。
import tushare, time #导入tushare库
data = tushareget_realtime_quotes('600519') #获取股票代码为000581的股票信息
print(data)
以上就是关于怎么用python计算股票全部的内容,包括:怎么用python计算股票、怎么学python爬取财经信息、怎样用Python写一个股票自动交易的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)