java股票交易演算法
Ⅰ java 如何實現 獲取實時股票數據
一般有三種方式:
網頁爬蟲。採用爬蟲去爬取目標網頁的股票數據,去GitHub或技術論壇(如CSDN、51CTO)上找一下別人寫的爬蟲集成到項目中。
請求第三方API。會有專門的公司(例如網路API市場)提供股票數據,你只需要去購買他們的服務,使用他們提供的SDK,仿照demo開發實現即可。如下圖所示:
Ⅱ 如何用java實現股票的自動化交易
1、目前,中國股市中,股票自動化交易簡稱自動交易或機器交易,是投資策略家將自己的交易策略系統化了的電腦程序。這種電腦程序能夠代替人在互聯網上進行股票、期貨、黃金、外匯等證券的交易,故稱智能自動化交易。
2、自動交易軟體可以對接各類行情分析軟體的股票預警窗口,而且在大智慧、通達信、益盟操盤手、東方財富通、新飛狐、交易開拓者等軟體皆可適用。軟體通過預警窗口讀取用戶自編公式選出的股票,然後自動買賣。另外還內置了5個經典的賣出模型:破價位賣出、破XX日均線賣出、MACD死叉賣出、KDJ死叉賣出、動態止盈賣出。在股票用戶自己買入股票後,不用整天盯盤,通過交易手簡單的幾個設置,就可以完成無人值守全自動賣出,在業界享有「平倉大師」的美名,既解決了令人糾結的艱苦的盯盤問題,又克服了貪婪、恐懼的人性弱點,該止損就止損,該止盈就賣在相對的高點,有效地規避深套和半道被主力洗出來的局面。
Ⅲ JAVA手機如何交易股票
你必須下載你開戶的證券公司版的手機炒股軟體,你首先要到營業部確認你的賬戶是否開通了手機交易的方式,如果開通了,你可以用手機登錄到證券公司的WAP網址,下載適合於你手機的JAVA軟體,通常你選擇完成手機會提示你進行下載之後會提示你安裝,安裝完成後,你就可以用手機登錄你的賬號了,登錄會提示你輸入資金賬號,密碼,正確的輸入後就會進入操作界面,選擇,確認就可以了.
Ⅳ 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);
大概就是這樣的一個小演算法
Ⅳ 開發炒股軟體,從哪裡獲得股票數據
行情數據源在上交所和深交所。需要購買。而且很貴。
象我們平常看到行情,是券商營業部所買,我們連到他們伺服器,而接收到數據。
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技術實現,從頭開始做。
在線網站進行交易??安全系數會不會降低,
Ⅶ C++還是Java 哪個響應高頻交易應用比較快
概述高頻交易的最佳解決方案是什麼?對於這個問題,觀點一直比較沖突,部分原因是人們不知道什麼叫高頻交易並且與人們想像的總是存在差異,其次是速度問題,用哪種語言開發速度會快點,本文作者拿當今非常流行的C++和Java這兩種語言進行比較。如果你是一個典型的Java和C++程序員,並且用這兩種語言編寫過典型的面向對象程序。在相同的時間下面編寫高頻解決方案,Java程序員有可能會提前完成程序並且有時間調整應用程序。在這種情形下,恕我直言,Java應用程序的速度會快些。以我的經驗,Java在執行上會好於C++,因為Java進行微基準測試,其實它沒有做什麼事情。但是如果沒有時間限制,對Java和C++程序進行調優,那麼C++程序會比Java快些。然而,考慮到資源的有限性和環境的不斷變化,一個充滿活力的語言可能會現實應用中超常發揮。在股票交易這種高頻市場,即使延遲10微秒都需要認真對待。 Java甚至標準的OOP C++,用在商業硬體上都不是最佳選擇,你需要藉助C或者精簡版的C++和一些專業的硬體工具,例如FPGAs、GPUs。然而,在外匯(FX:Foreign Exchange)市場,高頻意味著延遲時間不低於100微秒。在這個的環境下,C++或者Java(低GC)都是個不錯的選擇。個人認為,在不斷變化的交易場所,Java擁有更多的靈活性。當人們討論高頻率時,尤其是在做銀行系統的時候,他們想把時間縮短1毫秒或者單單幾毫秒。在這樣的情況下,我會說,靈活/多態的Java、Scala或者C#等語言在編程時間上將會更加充裕,可維護性或可靠性優勢將會超過C/C++或FPGA。Java所面臨的問題問題不在於這樣的語言上,而是缺乏緩存控制和上下文交互。如果你復制一塊在本地已經操作過的內存,但是在運行之間使用不同的延遲,副本將會變慢。原因是部分緩存被交換出去,而復制本身也需要一些時間。這和訪問內存的任何操作是一樣的。例如,訪問計劃對象將會更慢。private void doTest(Pauser delay) throws InterruptedException { int[] times = new int[1000 * 1000]; byte[] bytes = new byte[32* 1024]; byte[] bytes2 = new byte[32 * 1024]; long end = System.nanoTime() + (long) 5e9; int i; for (i = 0; i < times.length; i++) { long start = System.nanoTime(); System.array(bytes, 0, bytes2, 0, bytes.length); long time = System.nanoTime() - start; times[i] = (int) time; delay.pause(); if (start > end) break; } Arrays.sort(times, 0, i); System.out.printf(delay + ": Copy memory latency 1/50/99%%tile %.1f/%.1f/%.1f us%n", times[i / 100] / 1e3, times[i / 2] / 1e3, times[i - i / 100 - 1] / 1e3 ); } 這個測試其實是在多次執行同一件任務,在執行之間使用不同的延時。其中大部分時間都花在本地方法上,在測試期間沒有創建或拋棄對象。YIELD: Copy memory latency 1/50/99%tile 1.6/1.6/2.3 us NO_WAIT: Copy memory latency 1/50/99%tile 1.6/1.6/1.6 us BUSY_WAIT_10: Copy memory latency 1/50/99%tile 2.8/3.5/4.4 us BUSY_WAIT_3: Copy memory latency 1/50/99%tile 2.7/3.0/4.0 us BUSY_WAIT_1: Copy memory latency 1/50/99%tile 1.6/1.6/2.5 us SLEEP_10: Copy memory latency 1/50/99%tile 2.2/3.4/5.1 us SLEEP_3: Copy memory latency 1/50/99%tile 2.2/3.4/4.4 us SLEEP_1: Copy memory latency 1/50/99%tile 1.8/3.4/4.2 us -XX+Java 7的UseLargePagesYIELD: Copy memory latency 1/50/99%tile 1.6/1.6/2.7 us NO_WAIT: Copy memory latency 1/50/99%tile 1.6/1.6/1.8 us BUSY_WAIT_10: Copy memory latency 1/50/99%tile 2.7/3.6/6.6 us BUSY_WAIT_3: Copy memory latency 1/50/99%tile 2.7/2.8/5.0 us BUSY_WAIT_1: Copy memory latency 1/50/99%tile 1.7/1.8/2.6 us SLEEP_10: Copy memory latency 1/50/99%tile 2.4/4.0/5.2 us SLEEP_3: Copy memory latency 1/50/99%tile 2.3/3.9/4.8 us SLEEP_1: Copy memory latency 1/50/99%tile 2.1/3.3/3.7 us 上面是最好的三種運行。進行內存拷貝的典型時間(中間值)是1.6到4.6微秒,依據是否有線程在繁忙等待或休眠狀態上使用了1到10毫秒。這大概是3倍的比率,並且與Java無關,這是因為它沒有真正的控制權。即使在最好的情況下時間差大概也是2倍。代碼ThreadlatencyTest.java總結在極端高頻情況下,核心引擎一般會用C、匯編和定製的硬體實現比使用C++或JAVA面向對象實現的方式多。由於延遲需求不再那麼緊張(指當基礎平台使用C/C++搭建架構之後,應用平台層面,時間響應已不是很重要,反而開發響應更重要)。因此Java和其他動態語言可能會變得更富有成效,在這種情形下,選擇Java或許可以幫你輕松應對不斷變化的市場/需求。
Ⅷ 鑲$エ杞浠朵竴鑸鐢ㄤ粈涔堣璦寮鍙
鑲$エ杞浠朵竴鑸浣跨敤C++銆丳ython鍜孞ava絳夎璦榪涜屽紑鍙戙
C++浣滀負涓縐嶉珮鏁堛佺ǔ瀹氱殑緙栫▼璇璦錛岄潪甯擱傚悎鐢ㄤ簬寮鍙戝規ц兘鍜岀ǔ瀹氭ц佹眰杈冮珮鐨勮偂紲ㄨ蔣浠躲傚畠鏀鎸侀潰鍚戝硅薄緙栫▼錛屼嬌寰楀紑鍙戣呭彲浠ュ壋寤哄嶇敤鐨勪唬鐮佹ā鍧楋紝鎻愰珮寮鍙戞晥鐜囥傚悓鏃訛紝C++鐨勭紪璇戝瀷鐗規т篃淇濊瘉浜嗙▼搴忓湪鎵ц屾椂鐨勬ц兘銆備緥濡傦紝涓浜涢渶瑕佸疄鏃跺勭悊澶ч噺鑲$エ鏁版嵁鐨勮蔣浠訛紝濡備氦鏄撶郴緇熷拰琛屾儏鍒嗘瀽杞浠訛紝閫氬父浼氶夋嫨C++浣滀負涓昏佸紑鍙戣璦銆
Python鍒欎互鍏剁畝媧佹槗鎳傜殑璇娉曞拰涓板瘜鐨勫簱璧勬簮鍦ㄨ偂紲ㄨ蔣浠跺紑鍙戜腑鍗犳嵁涓甯涔嬪湴銆侾ython鐨勮剼鏈鍨嬬壒鎬т嬌寰楀紑鍙戣呭彲浠ュ揩閫熷湴緙栧啓鍜屾祴璇曚唬鐮侊紝閫傚悎榪涜屽師鍨嬪紑鍙戝拰蹇閫熻凱浠c傛ゅ栵紝Python鐨勯噾鋙嶅垎鏋愬簱濡俻andas鍜宯umpy絳夛紝涓哄勭悊鍜屽垎鏋愯偂紲ㄦ暟鎹鎻愪緵浜嗗己澶х殑鏀鎸併傚緢澶氭暟鎹鍒嗘瀽甯堝拰鎶曡祫鑰呭枩嬈㈢敤Python鏉ョ紪鍐欒嚜瀹氫箟鐨勪氦鏄撶瓥鐣ュ拰鍙瑙嗗寲鍒嗘瀽鎶ュ憡銆
Java鍒欎互鍏惰法騫沖彴鐨勭壒鎬у彈鍒拌偂紲ㄨ蔣浠跺紑鍙戣呯殑闈掔潗銆侸ava緙栧啓鐨勭▼搴忓彲浠ュ湪浠諱綍鏀鎸丣ava鉶氭嫙鏈虹殑騫沖彴涓婅繍琛岋紝榪欏ぇ澶у炲姞浜嗚蔣浠剁殑鍙鐢ㄦу拰鍙緇存姢鎬с傚悓鏃訛紝Java鐨勪紒涓氱駭鐗規у拰涓板瘜鐨刉eb寮鍙戞嗘灦涔熶嬌鍏墮潪甯擱傚悎鐢ㄤ簬寮鍙戝ぇ鍨嬭偂紲ㄨ蔣浠剁郴緇熷拰Web浜ゆ槗騫沖彴銆備緥濡傦紝涓浜涙彁渚涘湪綰誇氦鏄撴湇鍔$殑鑲$エ杞浠訛紝鍙鑳戒細閫夋嫨Java浣滀負涓昏佸紑鍙戣璦銆
緇間笂鎵榪幫紝鑲$エ杞浠剁殑寮鍙戣璦閫夋嫨鍙栧喅浜庤蔣浠剁殑鍏蜂綋闇奼傚拰鐩鏍囥備笉鍚岀殑緙栫▼璇璦鍚勬湁浼樺娍錛屽紑鍙戣呴渶瑕佹牴鎹瀹為檯鎯呭喌榪涜屾潈琛″拰閫夋嫨銆