A. python怎麼分析所有股票
在 Python的QSTK中,是通過 s_datapath 變數,定義相應股票數據所在的文件夾。一般可以通過 QSDATA 這個環境變數來設置對應的數據文件夾。
具體的股票數據來源,例如滬深、港股等市場,你可以使用免費的WDZ程序輸出相應日線、5分鍾數據到 s_datapath 變數所指定的文件夾中。然後可使用 Python的QSTK中,qstkutil.DataAccess進行數據訪問。
B. python 設計一個名為Stock的類來表示一個公司的股票
是的,設計一個名為 Stock的類表示股票,該類包括:
1、一個名為symbol的字元串數據域表示股票代碼:
2、一個名為name的字元串數據域表示股票名稱;
3、一個名為previousPrice的double型數據域,用來存儲股票的前一 日收盤價:
4、一個名為currentPrice的double型數據域,用來存儲股票的當前價格:
5、創建一個給定特定代碼和名稱的股票構造方法:
6、一個名為getChangePercentO方法,返回從前的日價格到當前價格變化的百分比。
實現這個類,編寫個測試程序,創建一個Stock 對象,它的股票代碼是600000,股票名稱是「浦發銀行」,前一日收盤價是 25.5元,當前的最新價是28.6元,顯示市值變化的百分比。
拓展資料
設計一個Stock類和DividendStock類
編寫了一個表示擁有股票情況的Stock類,這里給出了一個簡化版,去掉了對參數的合法性的檢查等細節,現在需要創建一個可以發放分紅的股票。紅利的多少和持有股票的數量成正比,不是所有的股票都是會有分紅的,所以不能直接在Stock類上直接增加這個功能,而是應該在Stock類的基礎上,繼承一個DividendStock類。並在這個子類中增加分紅的屬性和行為。
(1)一個用於記錄分紅的欄位dividents
(2)重寫父類的getProfit方法(在父類的getProfit方法的基礎上還要加上分紅的)
父類的getProfit+股票的總的分紅(也就是欄位dividents的值)
(3)增加計算分紅的方法,方法中的參數表示每股的紅利,可以理解為成員變數dividents賦值: 股票的總的分紅=每股的紅利*總股數
public void payDividend(double amountPerShare)
編寫一個測試的程序,創建一個名為」Oracle」的分紅股票,先後以單價32元購買200股,以單價40元購買350股。每股的分紅2.8元。這支股票的當前價格是每股50元。
C. 怎麼用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()。因此在平時的使用中應當學會尋找更好的方法,提高運算速度。
D. 怎樣用python處理股票
用Python處理股票需要獲取股票數據,以國內股票數據為例,可以安裝Python的第三方庫:tushare;一個國內股票數據獲取包。可以在網路中搜索「Python tushare」來查詢相關資料,或者在tushare的官網上查詢說明文檔。
E. 怎樣用 Python 寫一個股票自動交易的程序
股票自動交易助手提供了一個 Python 自動下單介面,參考代碼
#股票自動交易助手Python自動下單使用例子
#把此腳本和StockOrderApi.pyOrder.dll放到你自己編寫的腳本同一目錄
fromStockOrderApiimport*
#買入測試
#Buy(u"600000",100,0,1,0)
#賣出測試,是持倉股才會有動作
#Sell(u"000100",100,0,1,0)
#賬戶信息
print("股票自動交易介面測試")
print("賬戶信息")
print("--------------------------------")
arrAccountInfo=["總資產","可用資金","持倉總市值","總盈利金額","持倉數量"];
foriinrange(0,len(arrAccountInfo)):
value=GetAccountInfo(u"",i,0)
print("%s%f"%(arrAccountInfo[i],value))
print("--------------------------------")
print("")
print("股票持倉")
print("--------------------------------")
#取出所有的持倉股票代碼,結果以','隔開的
allStockCode=GetAllPositionCode(0)
allStockCodeArray=allStockCode.split(',')
foriinrange(0,len(allStockCodeArray)):
vol=GetPosInfo(allStockCodeArray[i],0,0)
changeP=GetPosInfo(allStockCodeArray[i],4,0)
print("%s%d%.2f%%"%(allStockCodeArray[i],vol,changeP))
print("--------------------------------")
F. 如何利用python抓取美股數據
一 准備環境
1 安裝tushare模塊包。
pip install tushare
二 注冊tushare賬號,獲取token(目前tushare pro版本必須有token值才能正常訪問)
訪問https://tushare.pro/register?reg=380388 tushare官網進行注冊,然後記錄token值備用。
三 開始python編程
Python代碼:
import tushare as ts
#設置token
token='你自己的token'
pro = ts.pro_api(token)
#獲取002242.SZ日行數據
pa=pro.daily(ts_code='002242.SZ', start_date='20200701',end_date='20200716')
# 列印獲取數據
print(pa)
運行程序,可見如下列印,002242.SZ最近兩周的數據都在這里了。
G. python如何獲得股票實時交易數據
使用easyquotation這個庫。(不用重復造輪子了)
github地址是:
https://github.com/shidenggui/easyquotation
H. 如何用python 爬蟲抓取金融數據
獲取數據是數據分析中必不可少的一部分,而網路爬蟲是是獲取數據的一個重要渠道之一。鑒於此,我拾起了Python這把利器,開啟了網路爬蟲之路。
本篇使用的版本為python3.5,意在抓取證券之星上當天所有A股數據。程序主要分為三個部分:網頁源碼的獲取、所需內容的提取、所得結果的整理。
一、網頁源碼的獲取
很多人喜歡用python爬蟲的原因之一就是它容易上手。只需以下幾行代碼既可抓取大部分網頁的源碼。
為了減少干擾,我先用正則表達式從整個頁面源碼中匹配出以上的主體部分,然後從主體部分中匹配出每隻股票的信息。代碼如下。
pattern=re.compile('<tbody[sS]*</tbody>')
body=re.findall(pattern,str(content)) #匹配<tbody和</tbody>之間的所有代碼pattern=re.compile('>(.*?)<')
stock_page=re.findall(pattern,body[0]) #匹配>和<之間的所有信息
其中compile方法為編譯匹配模式,findall方法用此匹配模式去匹配出所需信息,並以列表的方式返回。正則表達式的語法還挺多的,下面我只羅列所用到符號的含義。
語法 說明
. 匹配任意除換行符「 」外的字元
* 匹配前一個字元0次或無限次
? 匹配前一個字元0次或一次
s 空白字元:[<空格> fv]
S 非空白字元:[^s]
[...] 字元集,對應的位置可以是字元集中任意字元
(...) 被括起來的表達式將作為分組,裡面一般為我們所需提取的內容
正則表達式的語法挺多的,也許有大牛隻要一句正則表達式就可提取我想提取的內容。在提取股票主體部分代碼時發現有人用xpath表達式提取顯得更簡潔一些,看來頁面解析也有很長的一段路要走。
三、所得結果的整理
通過非貪婪模式(.*?)匹配>和<之間的所有數據,會匹配出一些空白字元出來,所以我們採用如下代碼把空白字元移除。
stock_last=stock_total[:] #stock_total:匹配出的股票數據for data in stock_total: #stock_last:整理後的股票數據
if data=='':
stock_last.remove('')
最後,我們可以列印幾列數據看下效果,代碼如下
print('代碼',' ','簡稱',' ',' ','最新價',' ','漲跌幅',' ','漲跌額',' ','5分鍾漲幅')for i in range(0,len(stock_last),13): #網頁總共有13列數據
print(stock_last[i],' ',stock_last[i+1],' ',' ',stock_last[i+2],' ',' ',stock_last[i+3],' ',' ',stock_last[i+4],' ',' ',stock_last[i+5])
I. 如何用python計算某支股票持有90天的收益率
首先你要先獲得這支股票90天的數據,可以存在一個arry中。
然後計算收益率 r = (arry[89]-arry[0])/arry[0],如果要計算任意連續90天的話只要循環就可以了。
許多人更喜歡去做短線,因為短線刺激,無法承受長線持股待漲的煎熬,可是假如不會做短線,則可能會導致虧得更快。做T的秘籍大家一定很想知道,今天就給大家講講。
我准備了好處給大家,機構精選的牛股大盤點!希望大家不要錯過--速領!今日機構牛股名單新鮮出爐!
一、股票做T是什麼意思
現在市場上,A股的交易市場模式是T+1,意思就是今天買的股票,只有明天才能賣出。
而股票做T,當天買入的股票在當天賣出,這就是股票進行T+0的交易操作,投資人在可交易的一天通過股票的漲幅和跌停有了股票差價,在股票大幅下跌時趕緊買入,漲得差不多之後再將買入的部分賣出,就是用這種方法賺錢的。
假如說,在昨天我手裡還有1000股的xx股票,市價10元/股。今天一大早發現該股居然跌到了9.5元/股,然後趁機買入了1000股。結果到了下午時,這只股票的價格就突然間大幅上漲到一股10.5元,我就急忙地以10.5/股的價格售出1000股,然後獲取(10.5-9.5)×1000=1000元的差價,這就是做T。
但是,不是每種股票做T都合適!正常來說,那些日內振幅空間較大的股票,它們是適合去做T的,比如說,每日能有5%的振幅空間。想知道某隻股票適不適合的,點開這里去看一下吧,專業的人員會為你估計挑選出最適合你的T股票!【免費】測一測你的股票到底好不好?
二、股票做T怎麼操作
怎麼才能夠把股票做到T?正常情況下分為兩種方式,分別為正T和倒T。
正T即先買後賣,投資手裡,手裡面賺有這款股票,在當天股票開盤的時候下跌到了最低點時,投資者買入1000股,等到股票變高的時候在高點,將這1000股徹底賣出,持有的總股票數還是跟以前一樣,T+0的效果這樣就能夠達到了,又能夠享有中間賺取的差價。
而倒T即先賣後買。投資者通過嚴密計算得出,股票存在下降風險,因此在高位點先賣出手中的一部分股票,接著等股價回落後再去買進,總量仍舊有辦法保持不變,然而,收益是會產生的。
比方投資者,他佔有該股2000股,而10元/股是當天早上的市場價,覺得持有的股票在短時間內就會有所調整,,於是賣出手中的1500股,等股票跌到一股只需要9.5元時,這只股票差不多就已經能讓他們感到滿意了,再買入1500股,這就賺取了(10-9.5)×1500=750元的差價。
這時有人就問了,那要如何知道買入的時候正好是低點,賣出的時候正好是高點?
其實有一款買賣點捕捉神器,它能夠判斷股票的變化趨勢,絕對能讓你每次都抓住重點,點開鏈接就能立刻領取到了:【智能AI助攻】一鍵獲取買賣機會
應答時間:2021-09-23,最新業務變化以文中鏈接內展示的數據為准,請點擊查看
J. python讀取財經數據
提取日期數據基本語法
from WindPy import w
w.start()
當出現.ErrorCode==-103說明沒連接上,要start一下
w.wsd(security, fields, startDate = None, endDate= None , options = None)
opion 可選(period, 日期類型, 貨幣類型,前後復權)
提取財務數據基本語法
w.wss(security, fields, options = None)
提取板塊日序列基本語法
w.wses(sectorCode, fields, startDate = None, endDate = None, options = None)
提取板塊日截面數據基本語法
w.wsee(sectorCode, fields, options=None)
提取宏觀數據基本語法
w.edb(codes, startDate =None, endDate =None, options=None)
1.日期序列基本語法
ts.get_hist_data(stock,start,end)
注意:1.stock不能是集合,只能單個股票 2.需要帶上.sz或.sh 3.沒有field,只能取出數據後再切除.
2.pro用法
pro.daily(code, start, end, fields)
tushare引用語句
弊端也很明顯,一方面不能stock集合輸入,一次只能調取一個股票對應數據,另一方面tushare雖是免費試用,但有許可權限制。
基本語法
wb.get_data_yahoo(code, start, end)
wb.DataReader(code, 'yahoo', start, end)
沒法添加fields, 雖能集合適用,但出來的索引挺奇怪的
推薦使用定義函數或用for循環批量獲取數據
總體感覺wind api最舒服,但需要賬號,mac也不能直接調用wind api。還是推薦tushare的pro用法。
小白學習中,請指教=v=