① 怎麼用python計算股票
作為一個python新手,在學習中遇到很多問題,要善於運用各種方法。今天,在學習中,碰到了如何通過收盤價計算股票的漲跌幅。
第一種:
讀取數據並建立函數:
import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import spline
from pylab import *
import pandas as pd
from pandas import Series
a=pd.read_csv('d:///1.csv',sep=',')#文件位置
t=a['close']
def f(t):
s=[]
for i in range(1,len(t)):
if i==1:
continue
else:
s.append((t[i]-t[i-1])/t[i]*100)
print s
plot(s)
plt.show()
f(t)
第二種:
利用pandas裡面的方法:
import pandas as pd
a=pd.read_csv('d:///1.csv')
rets = a['close'].pct_change() * 100
print rets
第三種:
close=a['close']
rets=close/close.shift(1)-1
print rets
總結:python是一種非常好的編程語言,一般而言,我們可以運用構建相關函數來實現自己的思想,但是,眾所周知,python中裡面的有很多科學計算包,裡面有很多方法可以快速解決計算的需要,如上面提到的pandas中的pct_change()。因此在平時的使用中應當學會尋找更好的方法,提高運算速度。
② 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())
③ 如何用python 取所有股票一段時間歷史數據
各種股票軟體,例如通達信、同花順、大智慧,都可以實時查看股票價格和走勢,做一些簡單的選股和定量分析,但是如果你想做更復雜的分析,例如回歸分析、關聯分析等就有點捉襟見肘,所以最好能夠獲取股票歷史及實時數據並存儲到資料庫,然後再通過其他工具,例如SPSS、SAS、EXCEL或者其他高級編程語言連接資料庫獲取股票數據進行定量分析,這樣就能實現更多目的了。
④ 用Python中的蒙特卡洛模擬兩支股票組成的投資組合的價格趨勢分析
蒙特卡洛模擬是一種模擬把真實系統中的概率過程用歲虛計算機程序來模擬的方法。對於投資組合的價格趨勢分析,可以使用Python中的蒙特卡洛模擬。首冊茄先,回顧投資組合的價格趨勢。投資組合中的股票價格的趨勢是受多種因素影響的,可分為經濟、政治和技術因素,其中經濟因素最重要。因此,蒙特卡洛模擬可以模擬這些因素對投資組合價格趨勢的影響,並通過計算機繪制投資組合價格趨勢的曲線。
Python中的蒙特卡洛模擬首先需要計算投資組合中各股票價格的每一期的收益率,其次,計算出投資組合的收益率;隨後,計算預測投資組合的期權價格,並將所有的期權價格疊加起來,從而繪制投資組合的價格曲線。最後,在投資組合的價格曲線的基礎上,可以分析投資組合在不同時期的價格走州雀察勢,並進行投資組合結構的調整,從而獲得最優投資組合。
⑤ Python量化教程:不得不學的K線圖「代碼復制可用」
不管是對量化分析師還是普通的投資者來說,K線圖(蠟燭圖)都是一種很經典、很重要的工具。在K線圖中,它會繪制每天的最高價、最低價、開盤價和收盤價,這對於我們理解股票的趨勢以及每天的多空對比很有幫助。
一般來說,我們會從各大券商平台獲取K線圖,但是這種情況下獲得的K線圖往往不能靈活調整,也不能適應復雜多變的生產需求。因此我們有必要學習一下如何使用Python繪制K線圖。
需要說明的是,這里mpl_finance是原來的matplotlib.finance,但是現在獨立出來了(而且好像沒什麼人維護更新了),我們將會使用它提供的方法來繪制K線圖;tushare是用來在線獲取股票數據的庫;matplotlib.ticker中有個FuncFormatter()方法可以幫助我們調整坐標軸;matplotlib.pylab.date2num可以幫助我們將日期數據進行必要的轉化。
我們以上證綜指18年9月份以來的行情為例。
我們先使用mpl_finance繪制一下,看看是否一切正常。
可以看到,所有的節假日包括周末,在這里都會顯示為空白,這對於我們圖形的連續性非常不友好,因此我們要解決掉他們。
可以看到,空白問題完美解決,這里我們解釋一下。由於matplotlib會將日期數據理解為 連續數據 ,而連續數據之間的間距是有意義的,所以非交易日即使沒有數據,在坐標軸上還是會體現出來。連續多少個非交易日,在坐標軸上就對應了多少個小格子,但這些小格子上方並沒有相應的蠟燭圖。
明白了它的原理,我們就可以對症下葯了。我們可以給橫坐標(日期)傳入連續的、固定間距的數據,先保證K線圖的繪制是連續的;然後生成一個保存有正確日期數據的列表,接下來,我們根據坐標軸上的數據去取對應的正確的日期,並替換為坐標軸上的標簽即可。
上邊format_date函數就是這個作用。由於前邊我們給dates列生成了從0開始的序列連續數據,因此我們可以直接把它當作索引,從真正的日期列表裡去取對應的數據。在這里我們要使用matplotlib.ticker.FuncFormattter()方法,它允許我們指定一個格式化坐標軸標簽的函數,在這個函數里,我們需要接受坐標軸的值以及位置,並返回自定義的標簽。
你學會了嗎?
當然,一個完整的K線圖到這里並沒有結束,後邊我們會考慮加入均線、成交量等元素,感興趣的同學歡迎關注哦!
⑥ 如何用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 = -01-01'
end_date = -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 是一種流行的編程語言,通常用於處理財務數據。一個常見的應用是在數據分析和數據科學領域,Python強大的數據處理和可視化庫可用於分析大型數據集並識別數據中的趨勢和模式。
可用於分析財務數據的 Python 腳本的一個示例是計算指定時間段內特定股票平均價格的腳本。金融分析師可以使用此腳本來跟蹤股票的表現並預測其未來的價格走勢。
下面是計算股票平均價格的 Python 代碼示例:
在此代碼中,我們首先導入 and 庫,這些庫通常用於處理 Python 中的財務數據。然後,我們使用庫中的函數將庫存數據從 CSV 文件載入到 ,這是一種用於處理表格數據的強大數據結構。pandasnumpyread_csv()pandasDataFrame
接下來,我們使用對象中的函數來計算股票的平均價格。最後,我們將結果列印到控制台。mean()DataFrame
這只是Python如何用於財務數據分析的一個簡單示例。在這個領域使用Python還有許多其他應用和可能性,包括分析投資組合的表現,預測股票價格等等。
回答不易望請採納
⑧ 問一個Python分析股票價格的問題......
你先把價格按日期排序之後變成一個list的話,比如:
price=[70,74, 73, 72, 71,75]
你可以這么辦:
operations=[]
isLong=False
for i in range(len(price)-1):
if(not isLong):
if(price[i]<price[i+1]):
print "Go long on day " + str(i)
operations.append(-1);
isLong=True;
else:
operations.append(0);
else:
if(price[i]>price[i+1]):
print "Go short on day " + str(i)
operations.append(1);
isLong=False;
else:
operations.append(0);
if(isLong):
print "Go short on day " + str(len(price)-1)
operations.append(1)
else:
operations.append(0)
ProfitPerShare=0
for i in range(len(price)):
ProfitPerShare+=price[i]*operations[i]
print "Summary profit per share: "+str(ProfitPerShare)
這裡面就是說,如果你是空倉,那麼如果明天比今天高就買,否則明天買就比今天買更劃算;如果你不空倉,那麼如果明天比今天價低你就要清倉,否則明天賣就會更劃算。然後用一個叫operations的list來記錄你每天的操作,-1表示買,0表示沒有,1表示賣,所以最後可以計算每股獲得的收入price[i]*operations[i]的總和。
⑨ python怎麼分析所有股票
在 Python的QSTK中,是通過 s_datapath 變數,定義相應股票數據所在的文件夾。一般可以通過 QSDATA 這個環境變數來設置對應的數據文件夾。
具體的股票數據來源,例如滬深、港股等市場,你可以使用免費的WDZ程序輸出相應日線、5分鍾數據到 s_datapath 變數所指定的文件夾中。然後可使用 Python的QSTK中,qstkutil.DataAccess進行數據訪問。