當前位置:首頁 » 投資技巧 » python每個股票買同樣的金額
擴展閱讀
漢唐通達信 2025-01-08 21:49:54
00981股票怎麼買不了 2025-01-08 21:42:22

python每個股票買同樣的金額

發布時間: 2025-01-07 23:19:50

㈠ 使用 Python 獲取股票歷史資金流向數據(大單、超大單、主力流入等)

市場主導力量在股市中尤為重要,理解主力交易數據與股價變動之間的關系對於投資者至關重要。為了深入研究這一領域,本文將展示如何利用Python技術,通過爬蟲手段獲取A股市場的歷史資金流向數據(包括大單、小單、超大單、主力流入等信息)。這些數據將被保存為表格文件,為後續的分析提供便利。

在開始之前,請確保您的計算機已安裝Python 3環境。若尚未安裝,可參考相應教程進行安裝。此外,您需要安裝兩個庫:pandas和requests。通過命令行(或終端工具)執行如下代碼以安裝:

輸入命令並按Enter鍵執行,直至出現「successfully」提示。

以下代碼展示了獲取單只股票(股票代碼:600519)的歷史大單交易數據,並將其保存為CSV文件(文件名與股票代碼相同):

執行示例代碼後,輸出相關文字信息,生成的文件名在代碼執行目錄中,並展示文件截圖。

接下來的示例代碼演示了如何同時獲取兩只股票(代碼分別為600519和300750)的歷史大單交易數據,同樣以各自股票代碼命名CSV文件,並在代碼運行目錄生成文件。

總結,本文闡述了使用Python獲取單只及多隻股票的歷史資金流向數據,並保存為CSV文件的方法。感謝您閱讀本文,如果您對更多金融數據獲取感興趣,請關注我的金融數據獲取專欄,以獲取更多相關技巧。

㈡ 股票池如何用python構建

股票池用python構建的方法是:使用第三方平台,目前可以使用的是聚寬,對比一下聚寬、優礦、大寬網(已經倒閉了),都大同小異,選哪個都一樣。

雖然這些平台都大同小異,但是代碼可不能簡單復制粘貼,因為底層函數庫是不一樣的,有可能在別的平台根本用不了某個函數,並且簡單復制到自己電腦中的python的話百分之百用不了。

代碼的思路是,每個月底進行調倉,選出市值最小的股票交易,去掉ST/*ST/停牌/漲停的股票,然後選擇最小市值的10隻,基準是創業板綜指,看看結果。

python構建數據獲取方法是:

這里使用為了接下來的操作需要將一定歷史范圍的股票數據下載下來,這里下載起始時間為20160101,截至時間為運行代碼的時間范圍的歷史日線數據。

這里以tushare為例, tushare獲取歷史數據有兩種方式。

第一種是以迭代歷史交易日的方式獲取所有歷史數據,假設獲取三年的歷史數據,一年一般220個交易日左右,那麼3年需要請求660多次左右,如果以這種方式的話,就下載數據的時間只需要1分鍾多點的樣子。

第二種是以迭代所有股票代碼的方式獲取所有歷史數據,股票數量有大概3800多個,需要請求3800多次,但是在積分有限的情況下一分鍾最多請求500次,也就意味著僅下載數據的時間至少需要大概8分鍾時間。

理論上,你獲取的歷史范圍超過17.3年,那麼使用第一種方式才比第二種方式快。

㈢ 股票軟體用什麼語言

股票軟體主要用C++或者Python語言進行開發。


詳細解釋如下:


一、股票軟體開發語言概述


股票軟體是用於股票交易、分析、預測的工具,其開發涉及多種編程語言。其中,C++和Python是兩種常見的選擇。


二、C++在股票軟體中的應用


C++是一種面向對象的編程語言,因其高效、靈活的特性而被廣泛用於股票軟體的開發。股票軟體需要處理實時數據、進行復雜的演算法計算,C++的高性能可以滿足這些需求。此外,其強大的庫支持也有助於開發者快速構建功能豐富的股票軟體。


三、Python在股票軟體中的應用


Python是一種解釋型語言,以其簡單易學、開發效率高的特點受到開發者的青睞。在股票軟體開發中,Python可以用於實現各種功能,包括數據分析、可視化、策略回測等。此外,Python有許多第三方庫,如Pandas、NumPy、Matplotlib等,可以方便地處理金融數據、進行數據分析及可視化。


四、總結


股票軟體的開發可以選擇多種編程語言,其中C++和Python是較為常見的選擇。C++因其高效、靈活的特性而適用於處理實時數據和復雜演算法;而Python則因其簡單易學、開發效率高以及豐富的第三方庫而廣泛應用於數據分析、可視化等方面。開發者可以根據項目需求和自身擅長選擇合適的編程語言進行開發。

㈣ 如何搭建自己的股票高頻資料庫(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日更新:

有不少小夥伴想要這個數據,目前我已經整理好上傳至網路網盤啦。數據和完整代碼私聊獲取。

獲取數據請只用於學習,勿直接用於投資決策!

㈤ python 設計一個名為Stock的類來表示一個公司的股票

class Stock():
def __init__(self):
self.__no = ""
self.__name = ""
self.previousClosingPrice = 0
self.currentPrice = 0
def creatStock(self,stockInfo):
self.__no = stockInfo[0]
self.__name = stockInfo[1]
self.previousClosingPrice = stockInfo[2]
self.currentPrice = stockInfo[3]
def getStockName(self):
return(self.__name)

def getStockNo(self):
return(self.__no)

def setPreviousClosingPrice(self,price):
self.previousClosingPrice = price

def getPreviousClosingPrice(self):
return(self.previousClosingPrice)

def setCurrentPrice(self,price):
self.currentPrice = price

def getCurrentPrice(self):
return(self.currentPrice)
def getChangePercent(self):
return((self.currentPrice - self.previousClosingPrice)/self.currentPrice)

stock = Stock()
stock.creatStock(["601318","中國平安",63.21,64.39])
print(stock.getStockNo())
print(stock.getStockName())
print(stock.getCurrentPrice())
print(stock.getPreviousClosingPrice())