A. Python 實現股票數據的實時抓取
編寫Python腳本實時抓取股票數據,滿足個人對實時漲跌信息的需求,無需依賴現有股票軟體。
首先,獲取滬深兩市所有上市股票數據。利用Scrapy框架,實現數據爬取並保存至TTJJ.json文件,工程清單包括新建Scrapy工程、設置user-agent文件以防止被伺服器封鎖。
爬蟲核心代碼在TTJJr中,整合找到的UserAgentMiddle代碼,改進登陸方式。同時,items模塊定義數據保存格式,pipeline實現數據處理,保存至json文件,配置細節見settings.py。
獲取實時交易數據,通過訪問新浪股票介面hq.sinajs.cn/list=(輸入股票代碼)獲取更新信息,僅在開盤至收盤期間有效,其他時間顯示為前一日收盤價。簡化邏輯,篩選出漲幅最高的10隻股票,代碼如下。
運行結果展示獲取的數據,包含股票代碼與當前漲幅,顯示每行均為漲幅最高的10隻股票。使用結果如圖所示,反映了實時抓取的股票實時數據信息。
通過以上步驟,實現Python腳本自動抓取股票實時數據,滿足個人需求,記錄了一段利用編程技術獲取實時股市信息的經歷。
B. 股票軟體用什麼編程
股票軟體主要使用編程語言和開發工具進行編程,常用的編程語言包括Java、C++、Python等。
股票軟體的開發涉及的編程語言有多種。Java因其跨平台的特性,被廣泛用於開發股票軟體。C++以其高效和靈活的特點,也在股票軟體的編程中佔有一席之地。此外,Python因其在數據分析與演算法交易方面的優勢,也被越來越多的股票軟體開發者所採用。
接下來,詳細解釋這幾種編程語言在股票軟體編程中的應用:
1. Java:Java作為一種跨平台編程語言,可以在不同的操作系統上運行,具有很好的兼容性和穩定性。股票軟體中的交易系統、行情分析等功能,通過Java編程可以實現跨平台的無縫對接。
2. C++:C++是一種面向對象的編程語言,具有高效、靈活的特點。在股票軟體中,一些對執行速度要求較高的實時交易系統或高頻交易系統,常常使用C++進行開發。
3. Python:Python在數據分析、機器學習、演算法交易等領域具有明顯優勢。股票軟體中涉及的大量數據處理、策略回測、自動化交易等功能,Python可以很好地滿足這些需求。同時,Python的代碼編寫效率高,使得開發過程更加高效。
這些編程語言通常會結合一些開發工具來使用,如集成開發環境和各種軟體開發框架,以實現股票軟體的各項功能。
總之,股票軟體的編程主要依賴於Java、C++、Python等編程語言以及相關的開發工具。開發者會根據軟體的具體需求和功能特點選擇合適的編程語言和工具進行開發。
C. 股票軟體用什麼語言
股票軟體主要用C++或者Python語言進行開發。
詳細解釋如下:
一、股票軟體開發語言概述
股票軟體是用於股票交易、分析、預測的工具,其開發涉及多種編程語言。其中,C++和Python是兩種常見的選擇。
二、C++在股票軟體中的應用
C++是一種面向對象的編程語言,因其高效、靈活的特性而被廣泛用於股票軟體的開發。股票軟體需要處理實時數據、進行復雜的演算法計算,C++的高性能可以滿足這些需求。此外,其強大的庫支持也有助於開發者快速構建功能豐富的股票軟體。
三、Python在股票軟體中的應用
Python是一種解釋型語言,以其簡單易學、開發效率高的特點受到開發者的青睞。在股票軟體開發中,Python可以用於實現各種功能,包括數據分析、可視化、策略回測等。此外,Python有許多第三方庫,如Pandas、NumPy、Matplotlib等,可以方便地處理金融數據、進行數據分析及可視化。
四、總結
股票軟體的開發可以選擇多種編程語言,其中C++和Python是較為常見的選擇。C++因其高效、靈活的特性而適用於處理實時數據和復雜演算法;而Python則因其簡單易學、開發效率高以及豐富的第三方庫而廣泛應用於數據分析、可視化等方面。開發者可以根據項目需求和自身擅長選擇合適的編程語言進行開發。
D. 怎麼樣在股票軟體上設立自己想要的指標
加qq,121909844,我可以幫你編寫
E. 求高手編寫一個通達信用:個股每日「成交額」的指標源碼
求高手給一個表達滬市整個市場昨日成交金額(億元)的公式或函數
F. 請問哪款股票軟體可以根據自己提供的數據系列畫出折線圖(或K線圖)
飛狐、5.83內核的通達信、advanced get都可以做到。
如果是現有交易品種,飛狐和通達信都不能保存結果。只能即時查看,而且要一條一條k線地的輸數據,比較麻煩。
你自己可以在飛狐里自建一個品種,用TXT按格式輸好數據後導入。這種方法比較好一點。有人試達將彩票的數據輸到飛狐里,像看K線一樣看。
另外advanced get只要讀取符合格式的文本文檔就可以了。
飛狐(不是和訊的新飛狐)和Get(8.0的版本就可以了)網上都有免費能用的版本。自己網路一下吧。
G. 如何搭建自己的股票高頻資料庫(Python)
二話不說,先上結果。本文闡述了以下幾個方面:
下圖是編寫好的數據介面提取數據的示例。該數據介面支持多標的、多品種(股票、指數一起提取)、多欄位、多時間提取。並且支持不復權、後復權、等比前復權提取(前復權不太實用就沒有做)。而且速度巨快,沒有數據量的限制。如果你也覺得很香,請接著往下看,本文將手把手教你搭建這樣的資料庫。
資料庫搭建需要用到一些第三方庫,在各位動手之前請安裝:
本文的方法不涉及到常用的資料庫(不涉及MySQL、MongoDB),思路非常簡單,請各位放心食用。主要是使用pyarrow來加強代碼性能。雖然不涉及到常用資料庫,但這是我目前能想到的最有效的方法。
正所謂「巧婦難為無米之炊」,想搭建高頻資料庫,就需要一個數據源獲取高頻數據。在此,我推薦聚寬作為我們的數據源。 聚寬賬號的申請請點這里。新人用戶有每日100萬條數據,DataFrame的一行算一條,請各位務必珍惜自己的數據量。(不過我是正式用戶了,每天兩個億,就不太在意這一點哈哈。)
非會員的100萬條數據量能幹啥?我們來簡單計算以下:每個交易日有240條數據(4個小時,240條分鍾k線),假設一年有250個交易日,每隻股票每年需要佔用60000條數據。也即一日的數據量能夠提取一隻股票16年(100/6=16.66667)左右的股票分鍾數據。相當於資料庫的搭建過程還是相當艱難的,每天耗盡數據量只能下載好一隻股票的數據。(白嫖是這樣的啦,如果有條件可以聯系聚寬客服,購買正式賬號)
我們這里假設我們的資料庫記錄2015年至今的股票分鍾數據。(當然我自己的資料庫記錄的是2005年1月1日的全A股分鍾數據)這里,我們以貴州茅台(股票代碼 600519.XSHG)為例,演示數據的提取與保存。先看看數據如何從介面提取出來(這里需要用到各位申請的聚寬賬號):
來看看代碼運行的結果。
數據提取後,自然需要把數據保存起來。pandas.DataFrame有很多方便的方法可以將數據保存下來。為做對比,這里將數據保存為csv格式和ftr格式。
相對應的,我們可以用這樣的代碼將保存好的數據讀取進來。雖然pandas有read_feather函數,可以直接將ftr文件讀取進來,但這個速度比直接調用pyarrow的更慢一些。考慮到代碼性能,這里直接從pyarrow調用read_feather函數。
雖然兩種格式都能將數據完整地保存下來,但讀取速度上,ftr文件占據著絕對的優勢。因此,我們考慮到資料庫的性能以及資料庫所佔空間,我們選擇使用ftr格式儲存數據。feather正如他的名稱,像羽毛一樣輕,它所佔的空間會比csv更小。這是一種不佔空間,讀取速度又快的文件格式,太香了!
在前文中我提到了行情數據的提取、保存方法,並強調了一定要提取不復權的數據。這是為了與復權因子結合,還原各種形式的復權數據。至於復權的詳細定義,請參看 網路。
隨便打開一個股票看盤軟體,大致會有3種復權方式,即前復權、不復權、後復權。按照我自己的想法,可以這么理解:
在這樣的情況下,如果記錄價格數據,記錄前復權的數據是最沒有意義的,因為隔一段時間,歷史的價格就全變了。如果只做收益率相關研究的話,記錄後復權數據是可以的。然而,我們這里要搭建資料庫,所以採取「記錄不復權數據」加上「復權因子」還原的方法。
我們著手提取復權因子。在提取之前,不妨再理順一下思路:
思路理順了,我們來看看後復權因子的提取方法:
有了復權因子,如何計算復權價格?請接著看第3節——數據介面編寫。
提取了行情數據和復權因子數據,應當找個地方把它們存放起來。我分了兩個文件夾來保存我的數據。
在你搜集了足夠多隻股票的分鍾數據後,就能夠來到這一步,編寫一個數據介面方便調用數據。
數據介面的編寫重難點在於股票價格復權的計算。這里同樣以貴州茅台(股票代碼 600519.XSHG)為例來演示如何進行復權的計算。復權的核心在於下面這個公式:
[公式]
先來看看我們如何提取貴州茅台在一段時間(這里為2015-01-01至2021-09-08)內的後復權分鍾數據。(這里千萬不能將交易量和交易額一起拿去復權了。只有價格數據需要復權。(我不太確定交易量要不要,要的話我就改一改嘿嘿))
看看代碼運行的效果。
那麼,等比前復權該如何實現呢?其實很簡單,只需要在框定了復權因子的時間後,讓復權因子全序列除以最後一個復權因子,即得到前復權因子。將這個前復權因子乘上不復權的價格,即可得到等比前復權的價格數據。
以下是數據介面的全部代碼,裡面有挺多細節(但挺簡單的),我就不再贅述了。
要更新資料庫的數據,則是將資料庫中的所有數據文件逐個讀取進來,取最後一天作為start_date,然後取今天作為end_date。將新數據合並到原有的DataFrame中並保存就完成了數據的更新。數據更新比較耗時,也需要一定的數據量。不過,不論如何,我們來看看數據更新的代碼。
在編寫完這些代碼後,我把這些代碼整合成了一個python文件【high_freq_db.py】放在了site-package中,方便以後數據的調用和更新。
親愛的讀者,感謝你讀到這里。本文講述了我搭建我的股票高頻資料庫的方法。畢竟我的專業是金融而非計算機,難免會有不足的地方,懇請大家在評論區指出。(華工封校了,我也快瘋了,所以一天寫了兩篇東西。。。。)
另外,這個資料庫完全搭建起來之後會非常大(行情數據佔80GB左右,包含指數和個股ftr文件),維護起來也比較費時費力,就不對外公布了(我也不知道怎麼公布【手動捂臉】)。如確有需要,可以和我私信。
再次感謝大家的閱讀!
——————————————————
2022年5月27日更新:
有不少小夥伴想要這個數據,目前我已經整理好上傳至網路網盤啦。數據和完整代碼私聊獲取。
獲取數據請只用於學習,勿直接用於投資決策!
H. 在股票軟體中怎麼繪圖寫字
各軟體操作會有區別,但基本都應該在繪圖工具里。
比如通達信軟體,打開繪圖工具後,裡面有個「A」圖標,就是可以在軟體界面的繪圖區域內寫字的。
I. 怎麼在股票軟體加入自己的指標.詳解.謝謝.
很簡單給你截幾個圖你可以參考下。(我的軟體是 廣發證券通達信版本)
1點擊功能選擇公式系統
4在公式編輯器的右邊你可以自己新建 編寫公式,也可以把已有的公式代入到系統中來。
如果你自己想自己編寫公式可以點擊 新建按鈕。 如果你想代入一個公式可以點擊 導入公式。按照操作步驟操作就可以了,挺簡單的。