㈠ 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 如何實現 獲取實時股票數據
一般有三種方式:
網頁爬蟲。採用爬蟲去爬取目標網頁的股票數據,去GitHub或技術論壇(如CSDN、51CTO)上找一下別人寫的爬蟲集成到項目中。
請求第三方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股以下。大盤股大單相對的比例小一點。