當前位置:首頁 » 股票入門 » 股票模擬交易excel記錄
擴展閱讀
設計總院股票歷史股價 2023-08-31 22:08:17
股票開通otc有風險嗎 2023-08-31 22:03:12
短線買股票一天最好時間 2023-08-31 22:02:59

股票模擬交易excel記錄

發布時間: 2023-07-11 12:17:29

A. 怎麼用 Excel 做蒙特卡洛模Ƌ

下面是在Excel中模擬一隻股票價格的例子。假設股票價格
的對數收益率服從正態分布,均值為0,每日變動標准差為0.1,
模擬股票價格1年的路徑,過程如下:
用到兩個內置函數,即用rand()來產生0到1之間的隨機數,然後用norminv()來獲得服從既定分布的隨機數,即收益率樣本=norminv(rand(), 0, 0.1)。假定股票價格的初始值是100元,那麼模擬的價格就是 S=100 * exp(cumsum(收益率樣本))。
其中的cumsum()不是Excel的內置函數,其意思就是收益率樣本的累積,每個時刻的值都是當前樣本及此前所有樣本的和,如,收益率樣本從單元格C3開始,當前計算C15對應的模擬價格,則模擬價格計算公式是:100 * exp(sum($C$3:C15))。
由此可以得到股票價格的一條模擬路徑。

其他非正態分布也可以通過類似方式得到分布的抽樣,即分布函數的逆函數,這些函數Excel都內置了。所以,做蒙特卡洛模擬的時候,關鍵是先確定所需模擬的分布,然後進行抽樣,然後應用層面的各種公式就可以在抽樣的基礎上進行計算了。

--------以下是補充的--------
根據上面提到的思路,其實可以很便捷地為期權做定價。下面就用蒙特卡洛方法為一個普通的歐式看漲期權定價(蒙特卡洛在為普通期權plain vanilla option定價時不佔優勢,因為相對於解析法而言計算量很大。但是,如果要給結構比較復雜的奇異期權定價時,可能蒙特卡洛法就比較實用,有時可能成為唯一的方法)。

1)假設這個期權是歐式看漲期權,行權價格為50元,標的股票當前的價格也是50元,期權剩餘時間是1天。
2)假設標的股票的價格服從對數正態分布,即股票的每日收益率服從正態分布,均值為0,每日標准差為1%。

根據分布假設,首先用rand()函數產生在0到1之間的均勻分布樣本。為了提高精確度,這里抽樣的數量為1000個(其實1000個是很少的了,通常需要10萬個甚至50萬個,但是在Excel表格中操作這么多數字,不方便,這是Excel的不足之處)。
下一步,用norminv(probability, mean, std)函數來獲得股票收益率分布的1000個抽樣,其中的probability參數由rand()產生的抽樣逐個代入,mean=0.0, std = 0.01。注意這里抽樣得到的日度收益率。也就是說,這個樣本對應的下一個交易日股票價格的收益率分布。
下一步,股票價格=50×exp(收益率樣本),得到股票價格分布的抽樣,有1000個樣本。

根據我做的實驗,這1000個樣本的分布圖形(histogram)跟對數正態分布是比較接近的,如下圖所示:
圖的橫軸是股票價格,縱軸是樣本中出現的頻率。
得到了股票價格未來一天分布的樣本之後,就可以以此樣本來計算期權的價格了。
歐式看漲期權的定義為:
C=max(S-K,0)

所以,根據這個計算公式可以計算出在到期那天在特定的價格下期權的價值。在Excel中,相當於 期權價值=max(股票價格樣本 - 50,0)。由此就可以得到了該期權未來1天價值的樣本。
然後,將未來價值貼現回來(用無風險利率貼現,假設無風險利率為0.05,則貼現公式是=exp(-0.05/360)×期權價值,得到期權價格的1000個樣本。
最後,對期權價格的1000個樣本求平均,Excel函數average(期權價格樣本),就可以得到期權的價格了。
我這里算出來的是:0.2015元。
而根據Black-Scholes期權定價公式算出來的理論價格則是0.2103元。二者比較接近,但是還是有差距。

而且,每次刷新Excel表格,就重新做一次模擬,得到的模擬價格變動比較大,有時是0.2043元,有時是0.1989元。由於這個抽樣的數量比較小(1000個樣本),所以估算的結果受到樣本的影響會比較大。如果把抽樣數量提高100倍甚至500倍,那麼樣本變動的影響可能會小一個或者兩個數量級。但是計算量就大了,如果計算機性能不夠高,那麼利用Excel來做的話,比較困難。
這就是我的工作台:

------ 再來一個 --------
看到有人提到利用蒙特卡洛方法來估計圓周率Pi,挺有意思,也簡單,所以就在Excel中做了一個實驗。
基本原理在於在直角坐標系中的第一個象限中的一個單位圓,如下圖所示:
在這個面積為1的正方形中,有四分之一的圓,圓的半徑與正方向的邊長都是1。那麼根據圓的面積公式,這個圖形中陰影部分的面積應該是 Pi/4。
下面開始進入蒙特卡洛的解法。
即,如果我們對這個正方形平面中的點進行均勻地抽樣,隨著抽樣點的增多,那麼落入陰影內的點的數量與總抽樣數量的比,應該基本上等於陰影的面積Pi/4與整個正方形面積1的比,即Pi/4。用數學表示,就是
陰影內的樣本點數量 ÷ 總數量 = Pi/4
所以,Pi = 4 × 陰影內的樣本點數量 ÷ 總數量。

下面就在Excel中進行實驗。
用rand()函數生成2000個隨機數,作為隨機樣本點的X軸坐標,
再用rand()函數生成2000個隨機數,作為隨機樣本點的Y軸坐標。
如此就得到了2000個隨機樣本點,這些點的X軸坐標和Y軸坐標都大於零且小於1,所以是在前面所說的正方形之中的點。
下一步,判斷樣本點是否處於陰影之內,由於這個陰影就是單位圓在直角坐標系第一想像的四分之一,所以圓陰影內的點都符合如下不等式:
翻譯到Excel中,就是用IF函數來判斷,例如:
IF(A2^2 + B2^2 <=1, 1, 0)

即,如果樣本點在陰影中,得到1,否則得到0。這樣就把樣本點區分開來了。
最後,把所有得到的1和0加總,就知道所有樣本點中處於陰影中樣本點的數量了。
最後根據
Pi = 4 × 陰影內的樣本點數量 ÷ 總數量
就可以算出Pi來了。
我這個試驗中算出來的 Pi=3.142。
以下是樣本點的散點圖:
由於樣本數量有限,所以計算出來的Pi的精度並不高。
以下是工作界面,挺簡單的。
來源:知乎

B. 哪位高手能將股票軟體中的交易數據直接導入Excel表格中

操作步驟大概是這樣的單擊數據——導入外部數據——新建Web查詢 只要將你所需要的股市網站——鏈接——點擊你所需要的內容左上角的黃色箭頭——導入——確定 即可得到你想要的

C. 股票交易行情數據如何轉換為Excel格式

1、首先,新建一個工作表,選中任意一個空單元格。選擇【數據】-【自網站】。

D. 我在用東方財富軟體進行模擬炒股,我想導出模擬炒股的歷史交易數據到Excel,請問如何操作如圖。

您好
東方財富軟體的數據都很陳舊,而且這類軟體模擬操作很不靠譜,需要說明一句任何一種軟體也不可能預測到股票行情,因為每一次股票的資金進入時間都是不一樣的,股票的基本信息也是根據國家證監會批准發布,軟體是不可能預測到的,我作為理財師我知道很多的股票軟體需要花錢買,但是從來不會給股民賺錢,股票市場需要對股票的研究和計算,做出相應的股票買賣操作,股票軟體連基本的行情都不可能預測,更不要賺錢了,還有問題您可以繼續問我,真誠回答,懇請您採納!

E. 如何利用excel製作炒股業績統計表及資金曲線圖 聽語音

打開excel軟體,第一行輸入名稱,然後進行合並居中。
第二行輸入下圖圖例中各項數值的名稱。
至此准備工作已基本完成。
從第三行開始輸入從股票賬戶中獲取的數據,並輸入相應的計算公式。這里參考開放式基金的運作方式來引入一個凈值概念,主要是考慮後續可能會有資金的變化,比如取出資金,追加資金等,運作一段時間後,取出追加資金都按當時的凈值折算成份額,以保持凈值平穩過渡,更科學的計算相對的收益率。如果是新賬戶建議凈值取值為1元,投入多少資金就折算成多少份額。如果是老賬戶為了考慮以前的業績可以用最新的資產除以投資額,從而折算成最新的凈值。
老錢庄股市直播www.lqz.cn

F. 如何下載股票歷史成交數據到Excel或txt

以華中智能股票軟體為例:(以Think pad X13 銳龍版筆記本電腦,Windows 10 操作為例)首先切換到要下載數據的股票K線形態,按「F1」進入「日線某某股票歷史成交」,點擊滑鼠右鍵->數據導出->導出所有數據->在「請選擇導出的類型」中選擇excel或txt
補充資料:
如何獲取所有股票歷史數據:
如果要對股市進行分析,首先就要獲取所有股票的歷史數據,只有通過股票的歷史數據,我們才能分析出股市的規律。
(以Think pad X13 銳龍版筆記本電腦,Windows 10 操作為例)
一、工具/原料
1、EXCEL2007或者以上版本,不能使用WPS
2、電腦1g內存1核處理器及以上配置
3、擁有較強邏輯分析能力以及少量智慧及以上的大腦一顆
方法/步驟:
第一步,獲取股票代碼,復制其中一部分到第一個工作表A4到A127,然後通過程序把每一個代碼寫入到不同的工作表A2位置,並對該工作表以該股票代碼命名。程序如下:
Sub 工作表命名()
For i = 4 To 127
Sheets(i).Range("a2") = "'" & Sheets(1).Range("a" & i)
Next i
For i = 4 To Sheets.Count
Sheets(i).Name = Sheets(i).Range("a2").Value
Next
End Sub
第二步,獲取股票歷史數據。代碼如下:
Private Function GetSource(sURL As String) As String
Dim oXHTTP As Object
Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
oXHTTP.Open "GET", sURL, False
oXHTTP.Send
GetSource = oXHTTP.responsetext
Set oXHTTP = Nothing
End Function
Sub 歷史數據()
Dim objXML As Object
Dim txtContent As String
Dim i As Integer
Dim strCode As String
Dim gp As String
Dim kaishihang
Dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9, arr10, arr11
On Error Resume Next
EndRow = Range("a65536").End(xlUp).Row
startRow = 4
If startRow <= EndRow Then
Range(Cells(startRow, 1), Cells(EndRow, 11)).Value = ""
Else
Exit Sub
End If
Set objXML = CreateObject("Microsoft.XMLHTTP")
gp = [A2]
For h = 1 To 4
For m = 1 To 4
kaishihang = [A65535].End(xlUp).Row
nian = Replace(Str(Year(Now) + 1 - h), " ", "")
ji = Replace(Str(4 + 1 - m), " ", "")
With objXML
.Open "GET", "http://quotes.money.163.com/trade/lsjyj_" + gp + ".html?year=" + nian + "&season=" + ji + "", False
.Send
If objXML.Status = 200 Then
txtContent = .responsetext
arr = Split(txtContent, "'>")
For i = 1 To UBound(arr)
arr1 = Split(arr(i), " Cells(i + kaishihang, 1) = Right(Left(arr1(0), 10), 10)
arr2 = Split(arr1(1), Chr(60))
Cells(i + kaishihang, 2) = Mid(arr2(0), InStr(arr2(0), ">") + 1)
arr3 = Split(arr1(2), Chr(60))
Cells(i + kaishihang, 3) = Mid(arr3(0), InStr(arr3(0), ">") + 1)
arr4 = Split(arr1(3), Chr(60))
Cells(i + kaishihang, 4) = Mid(arr4(0), InStr(arr4(0), ">") + 1)
arr5 = Split(arr1(4), Chr(60))
Cells(i + kaishihang, 5) = Mid(arr5(0), InStr(arr5(0), ">") + 1)
arr6 = Split(arr1(5), Chr(60))
Cells(i + kaishihang, 6) = Mid(arr6(0), InStr(arr6(0), ">") + 1)
arr7 = Split(arr1(6), Chr(60))
Cells(i + kaishihang, 7) = Mid(arr7(0), InStr(arr7(0), ">") + 1)
arr8 = Split(arr1(7), Chr(60))
Cells(i + kaishihang, 8) = Mid(arr8(0), InStr(arr8(0), ">") + 1)
arr9 = Split(arr1(8), Chr(60))
Cells(i + kaishihang, 9) = Mid(arr9(0), InStr(arr9(0), ">") + 1)
arr10 = Split(arr1(9), Chr(60))
Cells(i + kaishihang, 10) = Mid(arr10(0), InStr(arr10(0), ">") + 1)
arr11 = Split(arr1(10), Chr(60))
Cells(i + kaishihang, 11) = Mid(arr11(0), InStr(arr11(0), ">") + 1)
Next i
End If
End With
Next m
Next h
Set objXML = Nothing
End Sub
第三步,獲取上證歷史數據,並獲取所有股票的歷史數據。程序如下:
Sub 所有股票歷史數據獲取()
Application.ScreenUpdating = False
Dim s As String, gp As String, nian As String, ji As String, s1 As String
Dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9
Dim i, h As Long
Dim kaishihang
Dim LastRow As Long, r As Long
On Error Resume Next
EndRow = Sheet2.Range("a65536").End(xlUp).Row
startRow = 4
If startRow <= EndRow Then
Sheet2.Range(Sheet2.Cells(startRow, 1), Sheet2.Cells(EndRow, 9)).Value = ""
Else
Exit Sub
End If
For h = 1 To 5
For m = 1 To 4
kaishihang = Sheet2.[A65535].End(xlUp).Row
nian = Replace(Str(Year(Now) + 1 - h), " ", "")
ji = Replace(Str(4 + 1 - m), " ", "")
s1 = "http://quotes.money.163.com/trade/lsjysj_shu_000001.html?year=" + nian + "&season=" + ji + ""
s = GetSource(s1)
arr = Split(s, "'>")
For i = 1 To UBound(arr)
arr1 = Split(arr(i), " Sheet2.Cells(i + kaishihang, 1) = Right(Left(arr1(0), 4), 4) & "-" & Right(Left(arr1(0), 6), 2) & "-" & Right(Left(arr1(0), 10), 2)
arr2 = Split(arr1(1), Chr(60))
Sheet2.Cells(i + kaishihang, 2) = Mid(arr2(0), InStr(arr2(0), ">") + 1)
arr3 = Split(arr1(2), Chr(60))
Sheet2.Cells(i + kaishihang, 3) = Mid(arr3(0), InStr(arr3(0), ">") + 1)
arr4 = Split(arr1(3), Chr(60))
Sheet2.Cells(i + kaishihang, 4) = Mid(arr4(0), InStr(arr4(0), ">") + 1)
arr5 = Split(arr1(4), Chr(60))
Sheet2.Cells(i + kaishihang, 5) = Mid(arr5(0), InStr(arr5(0), ">") + 1)
arr6 = Split(arr1(5), Chr(60))
Sheet2.Cells(i + kaishihang, 6) = Mid(arr6(0), InStr(arr6(0), ">") + 1)
arr7 = Split(arr1(6), Chr(60))
Sheet2.Cells(i + kaishihang, 7) = Mid(arr7(0), InStr(arr7(0), ">") + 1)
arr8 = Split(arr1(7), Chr(60))
Sheet2.Cells(i + kaishihang, 8) = Mid(arr8(0), InStr(arr8(0), ">") + 1)
arr9 = Split(arr1(8), Chr(60))
Sheet2.Cells(i + kaishihang, 9) = Mid(arr9(0), InStr(arr9(0), ">") + 1)
Next i
Next m
Next h
Application.ScreenUpdating = True
n = Worksheets.Count
For i = 4 To n
Worksheets(i).Activate
歷史數據
Next
End Sub
第四步,保存工作簿,並對該工作簿命名為1,然後復制該工作簿27份,把所有股票代碼寫入每一個工作簿第一個工作表的A3到A127列。然後根據第一步對工作簿內的工作表命名,並在每一個工作表A2單元格內寫入股票代碼。
第五步,把這些工作簿存放到炒股文件夾下的資料庫文件下。然後在炒股文件夾下新建一個工作簿,命名為「一鍵更新表格」,寫入如下代碼:
Sub 所有股票歷史數據更新()
Dim wb As Workbook
For i = 1 To 27
Set wb = Workbooks.Open(ThisWorkbook.Path & "資料庫" & i & "".xlsb"")
Application.Run ""'"" & wb.Path & """" & i & "".xlsb'!所有股票歷史數據獲取""
wb.Save
wb.Close
Next i
End sub
當啟動這一段代碼以後,程序會自動一個一個的打開對應的工作簿然後獲取裡面所有股票的歷史數據,存放在對應的工作表當中。
第六步,對相應的程序添加按鈕,這樣,我們在啟動對應程序時,只需要點一下對應的按鈕就可以實現了。這樣,我們通過多個工作簿就實現了獲取所有股票歷史數據的方法。而後面,我們只需要通過獲取對應股票每一天的歷史數據,我們就能夠在任意一天很快速的能夠擁有所有股票的歷史數據了。
注意事項
1、在後續需要對這些數據進行分析,裡面會加入很多計算,所以啟動所有歷史數據更新時,我們應該要關閉自動更新。
2、因為歷史數據很大,所以這里只獲取四年的數據,想要獲取更多數據,可以更改程序裡面 「For h = 1 To 5」的那個5即可。
3、歷史數據的獲取需要較長的時間,要提前做好准備。
4、如果你想要弄清楚用EXCEL建立炒股系統的整套方法,請看後續內容。"

G. 如何利用excel製作炒股業績統計表及資金曲線圖

可以。軟體可以直接將你輸入的數據轉化為圖表。
作圖步驟

1.打開EXCEL軟體,在軟體中將數據輸入excel中。
2.點擊菜單中的插入—圖標—股票圖
3.然後選擇第二個圖標(名稱:帶平滑線和數據標記的圖標)
4.先左鍵點擊圖框的空白處,然後右鍵點擊後選擇:選擇數據
5.點擊:添加
6.繪制X軸的數據:時間、股票名稱等
7.同樣的方法進行Y軸數據的輸入
8.進行修改標題:直接點擊圖標標題就可以修改了。

H. 誰有滬深A股以前所有股票的交易數據最好是excel的形式

我看了你附的圖,用如下方式可以做到:
1、下載和訊的大交易師軟體,安裝好後將數據補完。(該軟體和飛狐、分析家的數據是通用的)從安裝到補完數據最多30分鍾。
2、打開軟體,點擊菜單-管理-數據管理,打開數據管理面板。
3、點擊導出按鈕,選日線數據和文本格式。注意:在文本格式設置欄中,需將格式設為單文件多證券。
4、選取任一天時間,就可以將該天所有股票數據導出到一個文本文件中。
5、在Excel中的數據管理菜單中選取導入數據,選擇文本格式,就可以將任一天的數據變成Excel表了。
騷年,快去試一試吧!祝你成功!