如何编程从免费股票软件中提取实时数据?
自己写程序的话,一种方法是从已提供的信息源,例如webservice获取数据。
还有种办法就是去连接提供即时信息的网页硬解析。
代码举例如下:Created on Thu Jul 23 09:17:27 2015 @author: jet""" DAY_PRICE_COLS = ['date', 'open', 'high', 'close', 'low', 'volume', 'chg', '%chg', 'ma5', 'ma10', 'ma20', 'vma5', 'vma10', 'vma20', 'turnover'] DAY_PRICE_URL = '%sapi.finance.%s/%s/?code=%s&type=last' INDEX_KEY = ['SH', 'SZ', 'HS300', 'SZ50', 'GEB', 'SMEB'] INDEX_LIST = {'SH': 'sh000001', 'SZ': 'sz399001', 'HS300': 'sz399300','SZ50': 'sh000016', 'GEB': 'sz399006', 'SMEB': 'sz399005'} INDEX_DAY_PRICE_COLS= ['date', 'open', 'high', 'close', 'low', 'volume','chg', '%chg', 'ma5', 'ma10', 'ma20','vma5', 'vma10', 'vma20'] K_TYPE_KEY = ['D', 'W', 'M'] K_TYPE_MIN_KEY = ['5', '15', '30', '60'] K_TYPE = {'D': 'akdaily', 'W': 'akweekly', 'M': 'akmonthly'} MIN_PRICE_URL = '%sapi.finance.%s/akmin?scode=%s&type=%s' PAGE_TYPE = {'http': 'http://', 'ftp': 'ftp://'} PAGE_DOMAIN = {'sina': 'sina.com.cn', 'ifeng': 'ifeng.com'} URL_ERROR_MSG = '获取失败,请检查网络状态,或者API端口URL已经不匹配!' get_hist_data.py# -*- coding: utf-8 -*-""" Created on Thu Jul 23 09:15:40 2015 @author: jet""" import const as ct import pandas as pd import json from urllib2 import urlopen,Request def get_hist_data(code = None, start = None, end = None, ktype = 'D'):""" 功能:获取个股历史交易数据-------- 输入:-------- code:string 股票代码 比如:601989 start:string 开始日期 格式:YYYY-MM-DD 为空时取到API所提供的最早日期数据 end:string 结束日期 格式:YYYY-MM-DD 为空时取到最近一个交易日数据 ktype:string(default=D, 函数内部自动统一为大写) 数据类型 D=日K线,W=周K线,M=月K线,5=5分钟,15=15分钟30=30分钟,60=60分钟 输出:-------- DataFrame date 日期 open 开盘价 high 最高价 close 收盘价 low 最低价 chg 涨跌额 p_chg 涨跌幅 ma5 5日均价 ma10 10日均价 ma20 20日均价 vma5 5日均量 vma10 10日均量 vma20 20日均量 turnover换手率(指数无此项)""" code = code_to_APIcode(code.upper()) ktype = ktype.upper() url = '' url = get_url(ktype, code) print(url) js = json.loads(ping_API(url)) cols = [] if len(js['record'][0]) == 14:cols = ct.INDEX_DAY_PRICE_COLS else:cols = ct.DAY_PRICE_COLS df = pd.DataFrame(js['record'], columns=cols) if ktype in ct.K_TYPE_KEY:df = df.applymap(lambda x:x.replace(u',', u'')) for col in cols[1:]:df[col]=df[col].astype(float) if start is not None:df = df [df.date >= start] if end is not None:df = df[df.date df = df.set_index('date') return df def code_to_APIcode(code):""" 功能:验证输入的股票代码是否正确,若正确则返回API对应使用的股票代码""" print(code) if code in ct.INDEX_KEY:return ct.INDEX_LIST[code] else:if len(code) != 6:raise IOError('code input error!') else:return 'sh%s'%code if code[:1] in ['5', '6'] else 'sz%s'%code def get_url(ktype, code):""" 功能:验证输入的K线类型是否正确,若正确则返回url""" if ktype in ct.K_TYPE_KEY:url = ct.DAY_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],ct.K_TYPE[ktype], code) return url elif ktype in ct.K_TYPE_MIN_KEY:url = ct.MIN_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],code, ktype) return url else:raise IOError('ktype input error!') def ping_API(url):""" 功能:向API发送数据请求,若链接正常返回数据""" text = '' try:req = Request(url) text = urlopen(req,timeout=10).read() if len(text) raise IOError('no data!') except Exception as e:print(e) else:return text#测试入口 print(get_hist_data('601989','2015-07-11','2015-07-22'))
股票软件的数据如何导出到Excel?
本例以大智慧365为例进行介绍:1、点击【常用工具】,得到:2、点击【更多】,点击[数据管理]中的【数据浏览器】,点击下拉菜单,选择【日线】:3、点击【选择股票】:注意:现在把经纬纺机放在自选股里了,所以是这样选择的股票,可以根据需要自己选择想要的股票。
4、点击【导出数据】,就可以得到数据。
如何获取实时的股票数据
你是准备用来做自动盯盘吧?这个直接采用股票软件就可以了。
大智慧、通达信、同花顺里面的公式系统都支持的,也比较简单,看看他们的例子自己也就可以做了。
他们系统中本身有实时行情的,加上自己写的这些公式,就可以实现自动盯盘了。
如果是公司用?有专门的实时行情API接口的提供方,例如微盛的实时行情API接口,这种很专业的,需要真正的软件开发人员才能使用。
没有专门的软件人员,是没法使用这种专业接口的。
什么股票软件可以导出“分钟”级的数据,最好导出后是excel格式。
1. 委比:最近5个价位买入挂单与卖出挂单比例的差值 委差:最近5个价位买入挂单与卖出挂单数量的差值 例:当前股价为9.38元,在9.33至9.37元(5个价位)共计买入挂单4000手,9.38至9.42(5个价位)共计6000手卖出挂单,则委比为负20%,委差为负2000手2.量比:是指股票(基金等)从开盘交易到目前时刻累计成交量与前五日成交量在相同时间的平均值之比值。
(电脑软件会自动实时计算出数值)量比,是非常直观反映成交量在近几日内放大或缩小的一个最重要的指标,虽然是个相对的数值,但用起来一目了然,比真实的成交量还管用。
3.换手就是股票买卖的过程。
换手率是指单位时间内,某一证券累计成交量与可交易量之间的比率。
换手率的数值越大,不仅说明交投的活跃,还表明交易者之间换手的充分程度。
换手率在市场中是很重要的买卖参考,应该说这远比技术指标和技术图形来得更加可靠,如果从造假成本的角度考虑,尽管交易印花税、交易佣金已大幅降低,但成交量越大所缴纳的费用就越高是不争的事实。
如果在K线图上的技术指标、图形、成交量三个要素当中选择,主力肯定是最没有办法时才会用成交量来骗人。
因而,研判成交量乃至换手率对于判断一只股票的未来发展是有很大帮助的。
从中能区分出换手率高是因为主力要出货,还是主力准备拉抬是很重要的。
4“外盘”、“内盘”出现。
委托以卖方成交的纳入“外盘”,委托以买方成交的纳入“内盘”。
“外盘”和“内盘”相加为成交量。
分析时,由于卖方成交的委托纳入外盘,如外盘很大意味着多数卖的价位都有人来接,显示买势强劲;而以买方成交的纳入内盘,如内盘过大,则意味着大多数的买入价都有人愿卖,显示卖方力量较大。
如内盘和外盘大体相近,则买卖力量相当。
5股本”就是股票的分额,即股票的股数,“总股本”就该公司发行的总股票数量。
“流通股本”即在市场上能买卖交易的总股数。
“限售股本”就是暂时还不能流通的股分。
6流通股就是现在可交易的股票。
只有在中国才存在这个问题。
流通股是相对于非流通股而言的。
非流通股,就是现在所说的大小非(大小非流通股),当大小非流通股解禁了,就成了流通股,可上市自由交易。
当一个股票的总股本等于流通股本的时候,这个股票就是所谓的 全流通股。
这先问题你可以一个一个在百度上找到的
怎样从新浪财经获取股票交易数据
输入股票代码->;切换到K线图->;按F1->;按上翻页键(翻到你要的起点)->;点击鼠标右键->;选择数据导出->;点“导出所有数据”,接下来按提示操作保存复权就是对股价和成交量进行权息修复,按照股票的实际涨跌绘制股价走势图,并把成交量调整为相同的股本口径。
股票除权、除息之后,股价随之产生了变化,但实际成本并没有变化。
如:原来20元的股票,十送十之后为10元,但实际还是相当于20元。
从K线图上看这个价位看似很低,但很可能就是一个历史高位。
我这鸿鹄岂知你燕雀之志哉