導航:首頁 > 千股千評 > python分析一隻股票獲利上億

python分析一隻股票獲利上億

發布時間:2022-09-12 17:58:58

Ⅰ 如何利用Python預測股票價格

預測股票價格沒有意義。
單支股票價格,多股組合,大盤這些都可以使用神經網路來學習,02年就做過了,漲跌預測平均能達到54%到57%的准確率,但是只能定性,無法定量,因此,在扣除印花稅之後無利可圖。

純粹使用股票交易數據來預測並保證總體獲利不是程序能辦到的,人也辦不到。
目前世界上最先進的炒股機器也只能利用網路時差那微不可計的零點幾秒在歐洲與美國證券間倒來倒去,那套系統研發費用數千萬,硬體(主要是獨立光纜)費用以億計。

Ⅱ python處理10億級別數據求助

還沒有仔細分析你的演算法。第一個感覺,如果沒有一個超級計算機,還是想辦法優化你的演算法。

通常在python里,一個字典只有支持幾萬到幾十萬數據量的時候效率最高。字典太大並不適合這種數據類型。

列表也不是存貯效率高的一種方式,通常我們大數據量計算會使用array,最差也要使用blist。

另外range也不可以的。要用xrange。xrange通常不消耗多少內存。range會用很多內存。

你上面的文字描述也沒有講明白你的演算法目標。如果你講得清楚,可以直接幫你優化一下演算法。

整型的KEY,完全可以不用字典,只需要一個索引加一個一個數組就可以解決。

總體感覺你自己把演算法弄得復雜了,應該可以有更簡單得多的演算法。先優化演算法再做程序吧。即使你用java實現這個功能,也會出現內存不足。另外你代碼里可通還有語法錯誤。

cums1,cums2,cums3應該是一個東西,為什麼要弄三份。又不需要改寫。一份足夠了。

Ⅲ 如何用python代碼判斷一段范圍內股票最高點

Copyright © 1999-2020, CSDN.NET, All Rights Reserved




登錄

python+聚寬 統計A股市場個股在某時間段的最高價、最低價及其時間 原創
2019-10-12 09:20:50

開拖拉機的大寶

碼齡4年

關注
使用工具pycharm + 聚寬數據源,統計A股市場個股在某時間段的最高價、最低價及其時間,並列印excel表格輸出

from jqdatasdk import *
import pandas as pd
import logging
import sys
logger = logging.getLogger("logger")
logger.setLevel(logging.INFO)

# 聚寬數據賬戶名和密碼設置
auth('username','password')

#獲取A股列表,包括代號,名稱,上市退市時間等。
security = get_all_securities(types=[], date=None)
pd2 = get_all_securities(['stock'])

# 獲取股票代號
stocks = list(get_all_securities(['stock']).index)

# 獲取股票名稱
stocknames = pd2['display_name']

start_date = '2015-01-01'
end_date = '2018-12-31'
def get_stocks_high_low(start_date,end_date):
# 新建表,表頭列
# 為:"idx","stockcode","stockname","maxvalue","maxtime","lowvalue","lowtime"
result = pd.DataFrame(columns=["idx", "stockcode", "stockname", "maxvalue", "maxtime", "lowvalue", "lowtime"])
for i in range(0,stocks.__len__()-1):
pd01 = get_price(stocks[i], start_date, end_date, frequency='daily',
fields=None, skip_paused=False,fq='pre', count=None)
result=result.append(pd.DataFrame({'idx':[i],'stockcode':[stocks[i]],'stockname':
[stocknames[i]],'maxvalue':[pd01['high'].max()],'maxtime':
[pd01['high'].idxmax()],'lowvalue': [pd01['low'].min()], 'lowtime':
[pd01['low'].idxmin()]}),ignore_index=True)

result.to_csv("stock_max_min.csv",encoding = 'utf-8', index = True)
logger.warning("執行完畢!

Ⅳ 如何用Python和機器學習炒股賺錢

如何用Python和機器學習炒股賺錢?(圖片太多未貼,可以去找原文)

我終於跑贏了標准普爾 500 指數 10 個百分點!聽起來可能不是很多,但是當我們處理的是大量流動性很高的資本時,對沖基金的利潤就相當可觀。更激進的做法還能得到更高的回報。
這一切都始於我閱讀了 Gur Huberman 的一篇題為《Contagious Speculation and a Cure for Cancer: A Non-Event that Made Stock Prices Soar》的論文。該研究描述了一件發生在 1998 年的涉及到一家上市公司 EntreMed(當時股票代碼是 ENMD)的事件:
「星期天《紐約時報》上發表的一篇關於癌症治療新葯開發潛力的文章導致 EntreMed 的股價從周五收盤時的 12.063 飆升至 85,在周一收盤時接近 52。在接下來的三周,它的收盤價都在 30 以上。這股投資熱情也讓其它生物科技股得到了溢價。但是,這個癌症研究方面的可能突破在至少五個月前就已經被 Nature 期刊和各種流行的報紙報道過了,其中甚至包括《泰晤士報》!因此,僅僅是熱情的公眾關注就能引發股價的持續上漲,即便實際上並沒有出現真正的新信息。」
在研究者給出的許多有見地的觀察中,其中有一個總結很突出:
「(股價)運動可能會集中於有一些共同之處的股票上,但這些共同之處不一定要是經濟基礎。」
我就想,能不能基於通常所用的指標之外的其它指標來劃分股票。我開始在資料庫裡面挖掘,幾周之後我發現了一個,其包含了一個分數,描述了股票和元素周期表中的元素之間的「已知和隱藏關系」的強度。
我有計算基因組學的背景,這讓我想起了基因和它們的細胞信號網路之間的關系是如何地不為人所知。但是,當我們分析數據時,我們又會開始看到我們之前可能無法預測的新關系和相關性。

選擇出的涉及細胞可塑性、生長和分化的信號通路的基因的表達模式
和基因一樣,股票也會受到一個巨型網路的影響,其中各個因素之間都有或強或弱的隱藏關系。其中一些影響和關系是可以預測的。
我的一個目標是創建長的和短的股票聚類,我稱之為「籃子聚類(basket clusters)」,我可以將其用於對沖或單純地從中獲利。這需要使用一個無監督機器學習方法來創建股票的聚類,從而使這些聚類之間有或強或弱的關系。這些聚類將會翻倍作為我的公司可以交易的股票的「籃子(basket)」。
首先我下載了一個數據集:http://54.174.116.134/recommend/datasets/supercolumns-elements-08.html,這個數據集基於元素周期表中的元素和上市公司之間的關系。
然後我使用了 Python 和一些常用的機器學習工具——scikit-learn、numpy、pandas、matplotlib 和 seaborn,我開始了解我正在處理的數據集的分布形狀。為此我參考了一個題為《Principal Component Analysis with KMeans visuals》的 Kaggle Kernel:https://www.kaggle.com/arthurtok/principal-component-analysis-with-kmeans-visuals
importnumpy asnp
importpandas aspd
fromsklearn.decomposition
importPCA
fromsklearn.cluster
importKMeans
importmatplotlib.pyplot asplt
importseaborn assbnp.seterr(divide= 'ignore', invalid= 'ignore')
# Quick way to test just a few column features
# stocks = pd.read_csv('supercolumns-elements-nasdaq-nyse-otcbb-general-UPDATE-2017-03-01.csv', usecols=range(1,16))
stocks = pd.read_csv( 'supercolumns-elements-nasdaq-nyse-otcbb-general-UPDATE-2017-03-01.csv')print(stocks.head())str_list = []
forcolname, colvalue instocks.iteritems():
iftype(colvalue[ 1]) == str: str_list.append(colname)
# Get to the numeric columns by inversion
num_list = stocks.columns.difference(str_list)stocks_num = stocks[num_list]print(stocks_num.head())
輸出:簡單看看前面 5 行:

概念特徵的皮爾遜相關性(Pearson Correlation)。在這里案例中,是指來自元素周期表的礦物和元素:
stocks_num = stocks_num.fillna(value= 0, axis= 1)X = stocks_num.values
fromsklearn.preprocessing importStandardScalerX_std = StandardScaler().fit_transform(X)f, ax = plt.subplots(figsize=( 12, 10))plt.title( 'Pearson Correlation of Concept Features (Elements & Minerals)')
# Draw the heatmap using seaborn
sb.heatmap(stocks_num.astype(float).corr(),linewidths= 0.25,vmax= 1.0, square= True, cmap= "YlGnBu", linecolor= 'black', annot= True)sb.plt.show()
輸出:(這個可視化例子是在前 16 個樣本上運行得到的)。看到元素周期表中的元素和上市公司關聯起來真的很有意思。在某種程度時,我想使用這些數據基於公司與相關元素或材料的相關性來預測其可能做出的突破。

測量「已解釋方差(Explained Variance)」和主成分分析(PCA)
已解釋方差=總方差-殘差方差(explained variance = total variance - resial variance)。應該值得關注的 PCA 投射組件的數量可以通過已解釋方差度量(Explained Variance Measure)來引導。Sebastian Raschka 的關於 PCA 的文章對此進行了很好的描述,參閱:http://sebastianraschka.com/Articles/2015_pca_in_3_steps.html
# Calculating Eigenvectors and eigenvalues of Cov matirx
mean_vec = np.mean(X_std, axis= 0)cov_mat = np.cov(X_std.T)eig_vals, eig_vecs = np.linalg.eig(cov_mat)
# Create a list of (eigenvalue, eigenvector) tuples
eig_pairs = [ (np.abs(eig_vals[i]),eig_vecs[:,i]) fori inrange(len(eig_vals))]
# Sort from high to low
eig_pairs.sort(key = lambdax: x[ 0], reverse= True)
# Calculation of Explained Variance from the eigenvaluestot = sum(eig_vals)var_exp = [(i/tot)* 100fori insorted(eig_vals, reverse= True)] cum_var_exp = np.cumsum(var_exp)
# Cumulative explained variance# Variances plot
max_cols = len(stocks.columns) - 1plt.figure(figsize=( 10, 5))plt.bar(range(max_cols), var_exp, alpha= 0.3333, align= 'center', label= 'indivial explained variance', color = 'g')plt.step(range(max_cols), cum_var_exp, where= 'mid',label= 'cumulative explained variance')plt.ylabel( 'Explained variance ratio')plt.xlabel( 'Principal components')plt.legend(loc= 'best')plt.show()
輸出:

從這個圖表中我們可以看到大量方差都來自於預測主成分的前 85%。這是個很高的數字,所以讓我們從低端的開始,先只建模少數幾個主成分。更多有關分析主成分合理數量的信息可參閱:http://setosa.io/ev/principal-component-analysis
使用 scikit-learn 的 PCA 模塊,讓我們設 n_components = 9。代碼的第二行調用了 fit_transform 方法,其可以使用標准化的電影數據 X_std 來擬合 PCA 模型並在該數據集上應用降維(dimensionality rection)。
pca = PCA(n_components= 9)x_9d = pca.fit_transform(X_std)plt.figure(figsize = ( 9, 7))plt.scatter(x_9d[:, 0],x_9d[:, 1], c= 'goldenrod',alpha= 0.5)plt.ylim( -10, 30)plt.show()
輸出:

這里我們甚至沒有真正觀察到聚類的些微輪廓,所以我們很可能應該繼續調節 n_component 的值直到我們得到我們想要的結果。這就是數據科學與藝術(data science and art)中的「藝術」部分。
現在,我們來試試 K-均值,看看我們能不能在下一章節可視化任何明顯的聚類。
K-均值聚類(K-Means Clustering)
我們將使用 PCA 投射數據來實現一個簡單的 K-均值。使用 scikit-learn 的 KMeans() 調用和 fit_predict 方法,我們可以計算聚類中心並為第一和第三個 PCA 投射預測聚類索引(以便了解我們是否可以觀察到任何合適的聚類)。然後我們可以定義我們自己的配色方案並繪制散點圖,代碼如下所示:
# Set a 3 KMeans clustering
kmeans = KMeans(n_clusters= 3)
# Compute cluster centers and predict cluster indices
X_clustered = kmeans.fit_predict(x_9d) # Define our own color map
LABEL_COLOR_MAP = { 0: 'r', 1: 'g', 2: 'b'}label_color = [LABEL_COLOR_MAP[l] forl inX_clustered]
# Plot the scatter digram
plt.figure(figsize = ( 7, 7))plt.scatter(x_9d[:, 0],x_9d[:, 2], c= label_color, alpha= 0.5)plt.show()
輸出:

這個 K-均值散點圖看起來更有希望,好像我們簡單的聚類模型假設就是正確的一樣。我們可以通過這種顏色可視化方案觀察到 3 個可區分開的聚類。
當然,聚類和可視化數據集的方法還有很多,參考:https://goo.gl/kGy3ra使用 seaborn 方便的 pairplot 函數,我可以以成對的方式在數據框中自動繪制所有的特徵。我們可以一個對一個地 pairplot 前面 3 個投射並可視化:
# Create a temp dataframe from our PCA projection data "x_9d"
df = pd.DataFrame(x_9d)df = df[[ 0, 1, 2]]df[ 'X_cluster'] = X_clustered
# Call Seaborn's pairplot to visualize our KMeans clustering on the PCA projected data
sb.pairplot(df, hue= 'X_cluster', palette= 'Dark2', diag_kind= 'kde', size= 1.85)sb.plt.show()
輸出:

構建籃子聚類(Basket Clusters)
你應該自己決定如何微調你的聚類。這方面沒有什麼萬靈葯,具體的方法取決於你操作的環境。在這個案例中是由隱藏關系所定義的股票和金融市場。
一旦你的聚類使你滿意了,你就可以設置分數閾值來控制特定的股票是否有資格進入一個聚類,然後你可以為一個給定的聚類提取股票,將它們作為籃子進行交易或使用這些籃子作為信號。你可以使用這種方法做的事情很大程度就看你自己的創造力以及你在使用深度學習變體來進行優化的水平,從而基於聚類或數據點的概念優化每個聚類的回報,比如 short interest 或 short float(公開市場中的可用股份)。
你可以注意到了這些聚類被用作籃子交易的方式一些有趣特徵。有時候標准普爾和一般市場會存在差異。這可以提供本質上基於「信息套利(information arbitrage)」的套利機會。一些聚類則和谷歌搜索趨勢相關。

看到聚類和材料及它們的供應鏈相關確實很有意思,正如這篇文章說的一樣:https://www.fairphone.com/en/2017/05/04/zooming-in-10-materials-and-their-supply-chains/
我僅僅使用該數據集操作了 Cobalt(鈷)、Copper(銅)、Gallium(鎵)和 Graphene(石墨烯)這幾個列標簽,只是為了看我是否可能發現從事這一領域或受到這一領域的風險的上市公司之間是否有任何隱藏的聯系。這些籃子和標准普爾的回報進行了比較。
通過使用歷史價格數據(可直接在 Quantopian、Numerai、Quandl 或 Yahoo Finance 使用),然後你可以匯總價格數據來生成預計收益,其可使用 HighCharts 進行可視化:

我從該聚類中獲得的回報超過了標准普爾相當一部分,這意味著你每年的收益可以比標准普爾還多 10%(標准普爾近一年來的漲幅為 16%)。我還見過更加激進的方法可以凈掙超過 70%。現在我必須承認我還做了一些其它的事情,但因為我工作的本質,我必須將那些事情保持黑箱。但從我目前觀察到的情況來看,至少圍繞這種方法探索和包裝新的量化模型可以證明是非常值得的,而其唯一的缺點是它是一種不同類型的信號,你可以將其輸入其它系統的流程中。
生成賣空籃子聚類(short basket clusters)可能比生成買空籃子聚類(long basket clusters)更有利可圖。這種方法值得再寫一篇文章,最好是在下一個黑天鵝事件之前。
如果你使用機器學習,就可能在具有已知和隱藏關系的上市公司的寄生、共生和共情關系之上搶佔先機,這是很有趣而且可以盈利的。最後,一個人的盈利能力似乎完全關乎他在生成這些類別的數據時想出特徵標簽(即概念(concept))的強大組合的能力。
我在這類模型上的下一次迭代應該會包含一個用於自動生成特徵組合或獨特列表的單獨演算法。也許會基於近乎實時的事件,這可能會影響那些具有隻有配備了無監督學習演算法的人類才能預測的隱藏關系的股票組。

Ⅳ 如何用python做回歸 判斷這個股票和股指間的關系

一個大項目的完成不是樓主以為的一天就能完成,通常會延續一年月乃至數年,看當時的風有多大了。所以去深究一天的盤口意義不是特別大。
大作手如果對大的基本面判斷失誤,籌碼、發動時機控制不好,鎖籌小夥伴背後捅刀子,走水出現大的老鼠倉,資金鏈出問題,碰到其他有錢任性的機構,老婆偷人槍殺兒子導致腦子短路等等雞飛狗跳的事情,項目做折掉,從莊家變股東的可能性也是非常大的,以億計的現金灰飛煙滅不過分分鍾的事情。
===============================================================
A股的死穴——要賺錢必須漲,做多是唯一出路。
做莊的基本原理:比如5元的標的,在底部拿夠籌碼,配合風信,能做多高做多高,比如做到50塊,然後就一路壓低賣下來,賣到15塊,乃至10塊。總有人覺得夠
便宜了會要的。
===============================================================
步驟1:做底倉,一般是先買到流通盤的30%。
具體做法就是在熊市末期,對著往上敲,然後虧本往下砸。賣1個,跟著會掉下來2-3個,接住。做底吸籌這個時間段有時會很長,視實際籌碼的收集情況和大盤走勢而定。
看下圖成交量,主力第一注就是下在中間偏左點的位置,進而不斷往震盪吸籌。那麼大的成交量,你總不會覺得是公眾交易者干出來的吧。
tip:標准底部的特徵就是脈沖式放量縮量,公眾交易者不參與任何震盪,切記。底部持續時間越長,籌碼控制越集中,以後上漲的高度越高,即所謂的橫有多長豎有多高。同時盡量挑選底部形態比較標準的標的,一年時間跨度以上的大圓弧底、復合頭肩、矩形底最好。越漂亮的走勢圖形控盤度越高,籌碼散亂的狀態下往往代表著多方博弈。

Ⅵ 求:運用基本分析法,技術分析法對任意一隻股票進行分析,提出投資意見,(字數1500左右)急急急!

中金黃金(600489)前三季度業績下滑。2012年前三季度實現營業收入270.37億元,同比增長23.13%;營業成本235.70億元,同比增長27.87%;營業利潤21.42億元,同比下降14.33%;歸屬上市公司股東凈利潤11.78億元,同比下降18.39%。

業績低於預期主要是礦產金品位下降等。2012年前三季度公司業績不如預期,歸屬上市公司股東凈利潤同比下降18.39%;盈利能力下降,前三個季度綜合毛利率持續回落,第三季度降至10.85%,較二季度回落1.55個百分點。主要原因是黃金產品品味下降和副產品銅價格下跌,個別子公司三季度受自然災害等原因,產量下降。

行業景氣度保持高位,公司資源增儲穩步推進。全球主權信用受到沖擊,主要經濟體釋放流動性刺激經濟增長,導致硬資產黃金價格高位運行,預計這一狀況維持較長時間。公司作為中國黃金龍頭企業將長期受益黃金牛市。截止2011年底,公司黃金儲量570噸,上半年收購新疆金福礦業股權,增儲10噸左右,子公司新疆金灘收購新疆中發股權,增儲10噸左右。中國黃金集團黃金資源儲量1560噸左右,國內尚有400噸資源儲量。

給予公司「增持」評級。盡管公司業績低於預期,但是行業基本面持續向好,集團公司整體上市明確,公司基本面持續向好。預計2012-2013年每股收益0.54元和0.70元,按照11月2日收盤價,對應動態市盈率分別為29.81倍和23倍,估值水平基本合理,給以「增持」的投資評級。

Ⅶ python:從現在開始賺錢,第一天要一元,以後每一天都比上一天多10%,多少天後能成為億萬富翁

這個計算不需要編程,計算器就可以了。
log100000000/log(1+0.1) = 193.2708634
進一法取整,需要194天。
第193天是 9745萬元。
第194天是 1億719萬元。

Ⅷ python對股票分析有什麼作用

你好,Python對於股票分析來說,用處是很大的
Python,用數據軟體分析可以做股票的量化程序,因為股票量化是未來的一種趨勢,能夠解決人為心理波動和沖動下單等不良行為,所以學好python量化的話,那麼對股票來說有很大很大幫助

Ⅸ 怎樣用 Python 寫一個股票自動交易的程序

Ⅹ 誰會分析股票啊請舉個例子具體分析一下。(只分析一支股票)謝謝!

均線教程

為求簡單易懂,先來幾張圖:看有沒什麼規律。(這些圖我是隨機選出來的。)

一:天業股份


一、隨便找一隻股票,按此技術來分析,簡簡單單,重要的是紀律的執行到位情況。需要多分析練習,提高執行力,就一定可以,漲的時候,拿穩最大收益,在跌的時候,在剛開始下跌的開始就離場,把虧損減到最低。循環操作。就算是一年時間,用此方法只操作一隻股票,都可以賺取收益。

二、用此方法分析大盤走勢,更加精準。歡迎驗證。

三、此方法乃本人自創,經驗證,感覺還可以,起碼可以做到小虧大賺,如有興趣,也可加本人QQ:972770432討論,謝謝!

閱讀全文

與python分析一隻股票獲利上億相關的資料

熱點內容
威科夫股票交易和投資方法 瀏覽:891
兄弟科技是不是好股票 瀏覽:93
增持股票受st限制嗎 瀏覽:256
科技產業的股票有哪些 瀏覽:394
湖北宜化集團股票走勢 瀏覽:118
股票軟體資金賬號密碼忘記了怎麼辦 瀏覽:41
中國郵輪公司股票 瀏覽:27
比特幣股票價格行情走勢 瀏覽:633
黃金股票未來投資價值 瀏覽:826
股票賬戶禁用後多久能解開 瀏覽:82
中央太平洋銀行股票成交量 瀏覽:529
長期買股票可以成為懂事嗎 瀏覽:907
行政處罰公告對股票的影響 瀏覽:511
定向增發股票對凈資產的影響 瀏覽:29
股票和債券相比的好處 瀏覽:849
股票四大金剛指標 瀏覽:140
上市公司員工股票分紅 瀏覽:741
深科技股票的歷史 瀏覽:134
買股票了解什麼軟體 瀏覽:810
直系親屬股票賬戶備案 瀏覽:362