⑴ JAVA编程:计算股票上涨至某一个数需要多少次涨停 比如:某股现价2元,每天涨10%,涨至50元,需多少天
double a=2; //股票现价
double b=0.1; //涨停10%
int i; //定义天数i
for( i=0;a>50;i++){
a=a*b; //每涨停一次a的价格会变化
}
System.out.println("天数为:"+i);
大概就是这样的一个小算法
⑵ 如何编程从免费股票软件中提取实时数据
自己写程序的话,一种方法是从已提供的信息源,例如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'))
⑶ 开发炒股软件,从哪里获得股票数据
行情数据源在上交所和深交所。需要购买。而且很贵。
象我们平常看到行情,是券商营业部所买,我们连到他们服务器,而接收到数据。
P2P数据接口使用说明(1)2009-03-18 08:58接口使用说明:
1. 压缩包包含四个文件,分别为P2P.exe,P2P.CFG,zlib.dll和使用说明.txt,可以解压到任意盘任意目录下使用。
2. 支持的行情分析软件有:
(1) 分析家2006,2005等,要求分析家主窗口标题最前面的几个字是"分析家 -",是否是破解版关系不大,最好是下载分析家官方网站的正版分析家,网址是http://www.fxj.com.cn,分析家其他版本号是否支持,我也没全做试验。
(2) 飞狐交易师,支持飞狐交易师,要求飞狐交易师主窗口标题最前面的几个字是"飞狐交易师"或"证券分析师",是否是破解版关系不大,最好是支持正版,用正版的。
(3) 大智慧新一代,要求大智慧主窗口标题最前面的几个字是"大智慧Level" 支持的版本号有 09.0226,08.0907,08.0801,07.0205 共四个。
注:如果分析软件的窗口标题不符合上面说的,则分析软件无法接收数据。以上三个分析软件最好都是正版的,只要下载正版的软件,安装后,无需做任何修改即可使用。接口再次说明一下,接口中的四个文件解压到任意目录下使用都可以,而无需解压到某个分析软件的某个目录下,或替代某个分析软件的某个文件。接口完全是绿色的,无需安装,也不会在注册表中留下任何信息。
3. 每天9:15分以后用行情软件中的数据管理功能先清除当天的行情数据,然后把右下角“发送数据”发送数据前面的钩选上。
4. 如果不能在开盘前打开该软件,比如10点半才打开,那么该接口会自动补充10点半之前的行情数据,为了能够尽快的把前面的数据补充完毕,请把速度调节到100以上。但如果是飞狐,则把该值调低一些,否则飞狐会来不及处理数据,把大量的数据放到内存中,造成飞狐使用内存越来越大,最后由于内存耗完造成飞狐或接口非法退出。大智慧和分析家则不存在这个问题。
5. 收盘后,该接口具有白天行情的回放功能,回放前,最好先清除行情软件中当天的行情数据。
6. 该接口由于是P2P接收数据,因此数据接收需要种子,只有和别的种子连上了,你就能接收数据了,你至少要和一个种子连上,当然,你连上别的种子后,你也就能称为种子了,你也就能为别的人提供数据服务功能了。
7. 两个人要连接成功,最好两个人中有一个人的IP地址是公网地址,如果两个全是内网地址则相互无法直接联通,必须借助第三方才能联通,该方法这里不再介绍了。
8. 如果网络情况比较良好,则行情数据的延时一般不会大于0.5秒。
9. 接口的P2P连接信息中的字段说明
(1). 远程完成--为该IP接收到完整数据包的个数。
(2). 远程请求--为该IP请求你发送的数据包序号。
(3). 本机请求--为本机请求远程发送数据包序号。
(4). 请求返回--远程响应本机请求的次数。
⑷ 请问怎样用Java获取股票行情历史数据新浪、搜狐、百度财经都可以......
publicclassStockConnection{
publicstaticvoidmain(String[]args){
URLur=null;
try{
//搜狐股票行情历史接口
// ur=newURL("http://q.stock.sohu.com/hisHq?code=cn_300228&start=20130930&end=20131231&stat=1&order=D&period=d&callback=historySearchHandler&rt=jsonp");
//新浪股票行情历史接口
ur=newURL("http://biz.finance.sina.com.cn/stock/flash_hq/kline_data.php?&rand=random(10000)&symbol=sh600000&end_date=20150809&begin_date=20000101&type=plain");
HttpURLConnectionuc=(HttpURLConnection)ur.openConnection();
BufferedReaderreader=newBufferedReader(newInputStreamReader(ur.openStream(),"GBK"));
Stringline;
while((line=reader.readLine())!=null){
System.out.println(line);
}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
⑸ 如何用java实现股票的自动化交易
1、目前,中国股市中,股票自动化交易简称自动交易或机器交易,是投资策略家将自己的交易策略系统化了的电脑程序。这种电脑程序能够代替人在互联网上进行股票、期货、黄金、外汇等证券的交粗瞎侍易,故称智能自动化交易。
2、自动交易软件可以对接各类行情分析软件的股票预警窗口,而且在大智慧、通达信、益盟操盘手、东方财富通、新飞狐、交易开拓者等软件皆可适用。软件通过预警窗口读取用户自编公式选神搜出的股票,然后自动买卖。另外还内置了5个经典的卖出模型:破价位卖出、破XX日均线卖出、MACD死叉卖出、KDJ死叉卖出、动态止岩吵盈卖出。在股票用户自己买入股票后,不用整天盯盘,通过交易手简单的几个设置,就可以完成无人值守全自动卖出,在业界享有“平仓大师”的美名,既解决了令人纠结的艰苦的盯盘问题,又克服了贪婪、恐惧的人性弱点,该止损就止损,该止盈就卖在相对的高点,有效地规避深套和半道被主力洗出来的局面。
⑹ 股票软件如何开发的用什么语言数据的获得方式
K-JAVA功能可以做移动商务、移动办公 、信息点播、股票、外汇、地址簿、日历、文件管理 、天气预报等;
股票软件使用的是JAVA语言,该可以跨平台运行,软件开发商可以很容易的开发应并信用程序;股票行情软件是基于Java计算机编程语言上的,也就是K-JAVA即J2ME软件平台,专门用于嵌入式设备的JAVA软件。
Java包含了一种计算机编程语言和一个平台,随着K-Java技术的不断完善与发展,发展商们将对具有K-Java功能的手机用户提供更还更全面的服务。如: 互动游戏、互动新闻 、增强手机连接到无线网络后进行数据交换的安全性、 载以Java语言写成的内容、遥控家用电器。
软件开发商以K-Java编程语言为手机开发应用程序,可以提供,游戏,个人信息处理,股票,电子地图等服务程序。 Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性戚枝、绝仔轮高性能、多线程、动态性等。
⑺ 如何用java读取股票数据
股票实时行情,可以通过两个方法来进行查看: 第一种,在网络搜索页面直接输入股票代码,如:000717,网络输入后,即可在搜索结果中看到,其中分时,就是该股票在当天的实时走向。 第二种,通过炒股软件,如东财,同花顺等,在开启后,直接输入
⑻ java 如何实现 获取实时股票数据
一般有三种方式:
网页爬虫。采用爬虫去爬取目标网页的股票数据,去GitHub或技术论坛(如CSDN、51CTO)上找一下别人写的爬虫集成到项目中。
请求第三方API。会有专门的公司(例如网络API市场)提供股票数据,你只需要去购买他们的服务,使用他们提供的SDK,仿照demo开发实现即可。如下图所示: