当前位置:首页 » 交易知识 » java实现股票量化交易
扩展阅读
中国股票怎么样的 2025-01-24 11:54:35

java实现股票量化交易

发布时间: 2023-04-24 06:19:06

㈠ Java有一些开源的针对于股票指标计算的包吗

这个问题太广泛了,我的经验是国内没有公开的成熟代码,这种东西一般都是商业秘密(其实是每家公司的计算公式、采样数据设计都有所不同),国外一些大学有公开的数学公式计算包。因为指标计算这个的基础是根据数学模型来实现的。我在04年和05年的时候由于项目的原因,做过根据外汇市场历史报价来评估外汇期权价值的java实现,当时假定的是价格曲线是满足BS模型(black scholes model,常用的还有V.G.模型)来计算的,但是这个模型是理想化的简单模型,建立的基础是:认为长期来看市场价格是对数正态分布的情况。相关BS模型数学算法的java实现的是在外国一个教育网站上找到的(当时google还未墙,用网络查资料是被BS的),当然为达到预期精度我做了部分修改(客户提供了Excel实现的计算器和VB版代码)。

㈡ java 设计一个Stock的类,这个类包括:

代码如下:

importjava.math.BigDecimal;
importjava.math.RoundingMode;

publicclassStock{
privateStringsymbol;
privateStringname;
;
privatedoublecurrentPrice;

//构造方法
publicStock(Stringsymbol,Stringname){
this.symbol=symbol;
this.name=name;
}

//
publicdoublegetChangePercent(){
return(currentPrice-previousClosingPrice)/previousClosingPrice;
}

(doublepreviousClosingPrice){
this.previousClosingPrice=previousClosingPrice;
}

publicvoidsetCurrentPrice(doublecurrentPrice){
this.currentPrice=currentPrice;
}

publicStringgetSymbol(){
returnsymbol;
}

publicStringgetName(){
returnname;
}

publicstaticvoidmain(String[]args){
Stockstock=newStock("Java","SunMircro");
stock.setCurrentPrice(4.35);//当前价格
stock.setPreviousClosingPrice(4.5);//前一交易日价格
doubled=stock.getChangePercent();//价格浮动:由于是double,下面的计算是N位小数
System.out.println("价格浮动:"+stock.getChangePercent());
//处理下
BigDecimalbd=newBigDecimal(d*100);//乘个100,是为了看效果
bd=bd.setScale(2,RoundingMode.HALF_UP);//设置2位小数,采用四舍五入
System.out.println("["+stock.getSymbol()+"]"+stock.getName()+"价格浮动:"+bd.toString()+"%");
}
}

亲,如果回答满意,亲及时采纳,你的合作是我们回答的动力,谢谢!

㈢ 拥有java基础,怎样编写一个股票分析软件

像这些软件都有自己的语法,你先学下里面每个平台的语法,你想写的是个选股策略,就要有自己的思路,你这套选股方法成熟,给你带来过收益,或者你只当它是个参考作用,而且你在编程的时候一定不要逻辑出问题,盗用价格

㈣ 想做一个类似股票交易的在线网站。用java技术实现,从头开始做。

在线网站进行交易??安全系数会不会降低,

㈤ 股票如何实现程序化交易和自动交易

股票想实现程序化交易和自动交易,需要两点:
1、券商有交易接口;
2、有合适的程序化交易软件(量化交易软件)。
满足以上两点,就可以通过程序化交易软件(量化交易软件),设置好交易触发条件,让软件自动交易。

㈥ java 如何实现 获取实时股票数据

一般有三种方式:

  1. 网页爬虫。采用爬虫去爬取目标网页的股票数据,去GitHub或技术论坛(如CSDN、51CTO)上找一下别人写的爬虫集成到项目中。

  2. 请求第三方API。会有专门的公司(例如网络API市场)提供股票数据,你只需要去购买他们的服务,使用他们提供的SDK,仿照demo开发实现即可。如下图所示:

㈦ 如何用java实现股票的自动化交易

1、目前,中国股市中,股票自动化交易简称自动交易或机器交易,是投资策略家将自己的交易策略系统化了的电脑程序。这种电脑程序能够代替人在互联网上进行股票、期货、黄金、外汇等证券的交易,故称智能自动化交易。
2、自动交易软件可以对接各类行情分析软件的股票预警窗口,而且在大智慧、通达信、益盟操盘手、东方财富通、新飞狐、交易开拓者等软件皆可适用。软件通过预警窗口读取用户自编公式选出的股票,然后自动买卖。另外还内置了5个经典的卖出模型:破价位卖出、破XX日均线卖出、MACD死叉卖出、KDJ死叉卖出、动态止盈卖出。在股票用户自己买入股票后,不用整天盯盘,通过交易手简单的几个设置,就可以完成无人值守全自动卖出,在业界享有“平仓大师”的美名,既解决了令人纠结的艰苦的盯盘问题,又克服了贪婪、恐惧的人性弱点,该止损就止损,该止盈就卖在相对的高点,有效地规避深套和半道被主力洗出来的局面。

㈧ 做量化交易选择什么语言好呢

量化交易,就是把人能够识别的信息变成数字,输入给计算机程序处理,辅助或者代替人类的思考和交易决策。

初学者碰到的第一个问题就是工具的选择。首先大部分交易员本来不会写程序,选择任何一个语言进行策略开发,都有不小的学习成本。更重要的是,选择了一门语言,接下来开发环境、人员招聘、数据接口与平台、甚至同类人群之间的交流、遇到问题后的支持,都跟着被“套牢”。所以从一开始就必须慎重对待。

先给出答案:对于还没有确定一套固定量化环境的,建议用Python。

量化交易员面临的大致选择有:C/C++/java/C#/R/Matlab/excel等。我们从以下几个方面考虑简单做个对比。

注意:这里假设你团队规模在50人以下。

1 学习成本和应用的广泛性

C、C++的特点是速度最快,但要想用好,必须对计算机底层架构、编译器等等有较好的理解,这是非计算机专业的人很难做到的,对于做量化交易来说更是没有必要。

Java本来是SUN的商业产品,有学习成本和体系的限制,也不适合。

Excel面对GB级别的数据无能为力,这里直接排除。

Python、R和Matlab学起来都简单,上手也快,可以说是“一周学会编程”。但R和Matlab一般只用来做数据处理,而Python作为一门强大的语言,可以做任何事,比如随时写个爬虫爬点数据,随时写个网页什么的,更何况还要面对处理实时行情的复杂情况。

2 开始做量化分析后,哪个用起来碰到问题最少,最方便省事?

用历史数据的回测举例。假设我们有2014年所有股票的全年日线,现在我们想看看600001的全年前10个最高股价出现在什么时候。python世界有个强大的pandas库,所以一句话就解决问题:

dailybar[dailybar [‘code’]==‘600001’].sort_values([‘close’].head(10)

R/Mathlab等科学语言也可以做到。

C/C++没有完备的第三方库。如果为了做大量的计算,要自己实现、维护、优化相应的底层算法,是一件多么头疼的事。

Python从一开始就是开源的,有各种第三方的库可以现成使用。这些底层功能库让程序员省去了“造轮子”的时间,让我们可以集中精力做真正的策略开发工作。

3 现在我们更进一步,要做实时行情分析和决策

以A股的入门级L1数据为例,每3秒要确保处理完3000条快照数据,并完成相应的计算甚至下单。这样的场景,C和C++倒是够快了。所以行情软件比如大智慧、同花顺等客户端都是使用高效率的语言做的,但像客户端那样的开发量,绝大部分量化交易机构没能力也没必要去做吧。

python的速度足够对付一般的实时行情分析了。其底层是C实现的,加上很多第三方的C也是C实现,尽管其计算速度比不上原生C程序,但对我们来说是足够啦。

4 quant离职了,他的研究成果怎么办

Python是使用人群最多、社区最活跃的语言之一,也是最受quant欢迎的语言之一。如果你是老板,你能更容易地招聘到优秀人材,享受到python社区带来的便利。

附几个量化中常用的python库:

- Pandas:

天生为处理金融数据而开发的库。几乎所有的主流数据接口都支持Pandas。Python量化必备。

- Numpy:

科学计算包,向量和矩阵处理超级方便

- SciPy:

开源算法和数学工具包,与Matlab和Scilab等类似

- Matplotlib:

Python的数据画图包,用来绘制出各类丰富的图形和报表。

PS: Python也是机器学习领域被使用最多的语言之一。像tensorflow、scikit-learn、Theano等等对python都有极好的支持。

㈨ java 如何获取当天的股票资金或者成交量,比如特大单,大单,中单,小单

这是个相对的数量概念,股市有农行等超大盘股,还有几百万股的小盘股。所以什么是大单小单没有绝对的界定。
我认为特大单起码是这个股票的5%,大单1%,小单10000股以下,散单1000股以下。大盘股大单相对的比例小一点。