导航:首页 > 数据行情 > 编程股票数据

编程股票数据

发布时间:2023-04-20 04:36:50

Ⅰ 如何编程从免费股票软件中提取实时数据

自己写程序的话,一种方法是从已提供的信息源,例如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 <= end]
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) < 15:
raise IOError('no data!')
except Exception as e:
print(e)
else:
return text

#测试入口
print(get_hist_data('601989','2015-07-11','2015-07-22'))

Ⅱ 如何把编程用到股票中去

1、打开通达信交易软件。
2、到股票查看界面。选择左上角的“功能”--“专家系统”--“公式管理器”,或者直接按快捷键Ctrl+F键,打开公式管理器。

3、在公式管理器编辑界面,选择你要导入的公式类型,选择“其他类型”或“条件选股公式”,然后点击右上角的“新建”按钮。
4、给公式取一个名字便于识别,对公式进行一定的描述,然后写上源代码,或者导入源代码,最后再点测试公式。看是否能测试通过。通过后,最后确定。

5、利用我们制作好的公式来进行选出满足公式的股票。点击左上角的“功能”,选择“选股器”里面的“综合选股”或“条件选股”。

6、在公式中,下拉菜单,找到我们制作好的公式。

7、“加入条件”,点击右下角“执行选股”,数据就会开始分析。

8、把得到的股票添加到自选的板块,这样数据分析完后,找到相应的板块,比如,添加到自选股板块中。按F6查看自选股板块,就得到了这个公式筛选出来的股票了。

Ⅲ 如何用C#编程读取新浪的股票实时行情

使用system.net下HttpWebRequest 和HttpWebResponse 就能完成你的需求。
1、你直接请求sina的页面。
2、通过对返回的字符串(或者document对象)进行分析,能够取到相应的数据。

Ⅳ 在编程中如何能能获得股票的数据 例如当前价,最高价,最低价,当前成交量等等

要看使和什么数据了,每个软件数据的存储格式不同,有的还是加密存储的(如指南针)。

以常见的钱龙数据来说吧(钱龙是最简单的存储格式)当前价,最高价,最低价,当前成交量等等都是以随机文件存储的长整型数据。下面是读取钱龙数据的C源码,你可以参考一下:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

typedef struct { ------->定义数据类型
unsigned long date; ------->定义日期为长整
unsigned long open; ------->定义开盘为..
unsigned long high; ------->定义最高为..
unsigned long low; ------->定义最低为..
unsigned long close; ------->定义收盘为..
unsigned long travl; ------->定义成交量..
unsigned long traca; ------->定义成交额..
char unuse[12];
} RECORD;

RECORD reco;
int readrec(FILE *);

void main()
{
FILE *fp;
if((fp = fopen("000001.day","rb")) == NULL) // 打开深发展日线

{ printf("Error: Can't open 000001.DAY !\n");
exit(0); }
readrec(fp);
fclose(fp);
if(getch()==0) getch();
exit(0);
}

int readrec(FILE *fp)

{

float fn;

while (! feof(fp)) {

fread(&reco,sizeof(RECORD),1,fp);

printf("%10lu ",reco.date);
fn=float(reco.open)/1000;

printf("%8.2f ",fn);
fn=float(reco.high)/1000; .
printf("%8.2f ",fn); .
fn=float(reco.low)/1000; .
printf("%8.2f ",fn); .
fn=float(reco.close)/1000; .
printf("%8.2f ",fn); .
printf("%8lu ",reco.travl); .
printf("%8lu\n",reco.traca);
}
printf("\n");

return 0;

Ⅳ c++程序设计题:定义一个股票类(stock)对象数组,存放连续5个交易日的股票信息,计算股票涨幅。

#include<iostream>
usingnamespacestd;
intmain()
{
doublestock[5];//定义长度为5的数组存放用户输入的股票价格
for(inti=0;i<5;i++)
{
cin>>stock[i];
}//循环读入用户输入的股价
doublepercent=(stock[4]-stock[0])*100;
cout<<"涨幅:"<<percent<<"%"<<endl;
return0;
}

Ⅵ 如何编写个股数据回撤的程序

1. 定义好所需要的变量,例如你需要获取的股票代码,时间范围等等;
2. 连接到股票数据源,获取历史数据;
3. 遍历历史数据,计算出指定时间段内的股票数据回撤;
4. 可以设置一些参数,根据参数绘制出不同的图表,展现结果;
5. 验证结果,根据实际情况进行修改,以获得更准确的结果;
6. 将结果保存,可以将图表保存为图片,或者将数据保存为文件;
7. 将程序发布,可以将程序发布到网站上,用户可以输入参数,获取相应的结果。

Ⅶ 易语言怎么读取实时股票数据

易语言读取实时股票数据方法如下:
1、获取API接口:可以到证券交易所神此纤、财经网站或第三方数据服务商申请获取股扒搏票行情数据的API接口。
2、使用网络编程函数进行数据访问:使用易语言的网络编程相关函数,如HttpGet、Wininet_OpenURL等,访问API接口获取实时股票行情数据。
3、解析数据:获取到的数据可能是JSON或XML格式的数据,需要使用相关函数对数据进行解析,取出需要的数据。
4、显示数据:将解析得到的数据显示在界面上,以便用户游仿查看。

Ⅷ 如何编辑股票指标精确到千位数

编辑前启槐股票指标精旁液确到千位数如下:
1、股票指标的精确度取决于所采用的数据源。采用的是真实市场数据,则应当使用小数点后三位,即精确到千位数;
2、采用的是模拟数据,那么可以使用更高精慧友度的编辑方式,小数点后五位或更多;
3、可以通过使用特定的编程语言来编辑股票指标,并使用对应的精度控制函数来控制股票指标的精度。

Ⅸ 怎么用matlab编程把股票交易的分笔数据处理成1分钟数据

P=[];‘输入,开盘价,最高价,最低价,收盘价成交量依次5天的数据’
T=[];’输出,即第二日的收盘’
net=newff(minmax(P),[7,1],,'traingdx');
net.trainParam.epochs=1000; ‘最大训练次数,根据需要可自行调节’
net.trainParam.goal=0.01; ‘误差’
net.trainParam.lr=0.01; ‘学习率’
net=train(net,P,T); ‘训练网络’
test=[];‘待预测数据输入’
out=sim(net,test); ‘仿真预测’
我的这个程序没有进行初始化,你还需要先将数据进行初始化后才能算。

Ⅹ 怎么用python计算股票

作为一个python新手,在学习中遇到很多问题,要善于运用各种方法。今天,在学习中,碰到了如何通过收盘价计算股票的涨跌幅。
第一种:
读取数据并建立函数:
import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import spline
from pylab import *
import pandas as pd
from pandas import Series
a=pd.read_csv('d:///1.csv',sep=',')#文件位置

t=a['close']
def f(t):
s=[]
for i in range(1,len(t)):
if i==1:
continue
else:
s.append((t[i]-t[i-1])/t[i]*100)
print s
plot(s)

plt.show()
f(t)
第二种:
利用pandas里面的方法:
import pandas as pd

a=pd.read_csv('d:///1.csv')
rets = a['close'].pct_change() * 100
print rets

第三种:
close=a['close']
rets=close/close.shift(1)-1
print rets

总结:python是一种非常好的编程语言,一般而言,我们可以运用构建相关函数来实现自己的思想,但是,众所周知,python中里面的有很多科学计算包,里面有很多方法可以快速解决计算的需要,如上面提到的pandas中的pct_change()。因此在平时的使用中应当学会寻找更好的方法,提高运算速度。

阅读全文

与编程股票数据相关的资料

热点内容
中信证券的软件怎样可以买沪市股票 浏览:281
手机股票APP中5日是什么 浏览:420
橡胶涨停股票 浏览:828
平安长期服务计划股票归属 浏览:293
股票软件翻页快捷键 浏览:964
千山药机股票重组是好事还是坏事 浏览:666
股票私募怎样赚钱吗 浏览:272
你认为以下股票的走势会如何 浏览:166
2020年春节股票休息时间 浏览:996
投资顾问自己不能买股票 浏览:943
股票在app100股 浏览:467
关于医疗方面的股票问题 浏览:84
人民网股票今天最新消息 浏览:673
限制性股票辞退员工 浏览:967
st股票多少换手率正常 浏览:74
股票开市鄙视时间 浏览:508
股票低位大宗交易是主力建仓 浏览:248
根据股票账户资产授信额度 浏览:14
股票龙虎榜的数据怎么看 浏览:982
股票现金分红怎么显示出来 浏览:573