❶ python:怎麼將"列表嵌套字典"轉換成理想的DataFrame
❷ 用Python抓取天天基金網基金歷史凈值數據
請關注微信公眾號:金融數學 FinancialMathematics
本文將介紹如何利用Python爬取天天基金網的基金歷史凈值數據。通過訪問特定的API鏈接,我們能夠獲取到指定基金在指定日期段內的凈值信息。例如,獲取代碼為110022的易方達消費行業基金在2019年1月1日至2月13日之間的基金凈值數據。
在獲取數據時,需注意鏈接中的參數設置。其中,pages和curpage參數分別指示總頁數和當前頁數。在爬取數據時,必須考慮到這些參數,確保獲取完整數據集,而不僅僅是一部分。
基金的單位凈值和累計凈值是投資者關注的重要指標。單位凈值等於總凈資產除以基金份額,可被視為基金的市場價值。累計凈值則反映基金自成立以來的總收益,包括分紅。從交易角度,投資者在購買基金時,其份額將根據購買日的基金凈值進行確認,而在交易日結束後的確認則基於次日的基金凈值。
通過爬取招商中證白酒指數分級(161725)2018年的基金數據,我們可以進行深入分析。觀察單位凈值、累計凈值及日增長率,揭示了去年基金市場的整體表現。從數據中可以看出,2018年基金市場經歷了一波較為慘淡的走勢,尤其是下半年,整體呈現下跌趨勢。日增長率的波動分布顯示,下半年的波動幅度較大,特別是在11月份前後的幾個交易日,市場經歷了大幅的漲跌。
分析累計凈值-單位凈值的變化情況,我們可以發現,在2018年發生了兩次變動,分別發生在7月初和12月中旬。通過查詢天天基金網站,我們了解到在12月17日發生了基金份額折算,而7月5日並無具體事件記錄。這些變動可能與基金的分紅或折算有關。
為了實現這一過程,我們編寫了一段Python代碼。代碼將幫助我們自動獲取指定時間段的基金凈值數據,進行數據處理,並生成分析圖表。通過代碼的執行,我們可以直觀地理解基金在特定時間段內的表現,為投資決策提供數據支持。
❸ 資產收益率與風險(含python代碼)
不同的資產會帶來不同的收益,其中一種形式是資產價格變動產生的收益,稱為資本利得。資本利得可以是正的收益(利得),也可以是負的收益(損失)。
除了資本利得,還有其他形式的收益,比如房產的租金、股票的分紅、債券的利息等。
期間投資收益除以期初成本,即可得到期間收益率(holding period return)。
計算收益率的公式未考慮成本。
預期收益率(expected rate of return)是投資人在投資某資產之前,預估未來可能會得到的收益率水平,是一種事前(ex ante)的收益率。實際收益率(realized return)是投資人在投資某資產之後,實際(ex post/ realized)所得到的收益率。
單期簡單收益率(one period simple return)為[公式]
簡單毛收益率(simple gross return)為[公式]
如果知道一個時間序列,即可以對[公式]進行求解。
多期簡單收益率:若投資者在t-k(t>k)期以P{t-k}的價格購入資產,而在t期以P_t的價格賣出該資產,則k期簡單收益率的公式為:[公式]
在資產中,通常用期來作為收益率的統計口徑,而不考慮實際的天數,在非交易日時常常直接略去。
[[need to be completed]]: shift的用法,pd.merge的用法
單期與多期簡單收益率之間的關系:[公式][公式]其不等於兩個單期收益率的直接相加,而是體現了復利(compound)的概念:
[公式]
由多期收益率計算單期收益率:年化收益率。投資人持有的資產時間為T期,獲得的收益率為R_t,一年一共有m個單期(比如以月為單期,一年有12個月),則該資產的年化收益率為:[公式]
年化收益也可以通過下面的公式進行計算:[公式]
考慮股利分紅的簡單收益率:發放股利的方式一般有兩種:連續復利收益率(continuous compounding)
投資期數趨向於無窮大,不同期之間的時間間隔無窮小,分分秒秒都在復利。
也就是說,我在初始投入A的資金,T期後的資金是[公式],那麼只看一期,記[公式]為t是的單期收益率,[公式]為t時的連續復利收益率,即[公式]
[公式]為單期的連續復利收益率
多期連續復合收益率:[公式]
單期與多期連續復合收益率:[公式][公式]
資產風險的來源:在金融資產上,風險指的是獲得收益的不確定性,通常以實際收益與期望收益的偏離來表示。
市場風險:系統性風險,指能夠對所有金融資產產生影響的風險,市場風險通常源自未能預料到的,能夠針對整體經濟產生巨大沖擊的大事件。
利率風險:從宏觀意義上來說,利率是資金供應總量達到均衡時的借貸價格;從微觀上看,利率對投資人意味著收益;而借款人則是獲取資金的成本。
匯率風險:匯率是兩國貨幣之間兌換的比例,也可以說是用一國貨幣表示的另一國貨幣的價格。匯率風險是指由於匯率變動而產生的資產價格波動的風險。
流動性風險:指金融資產能夠以一個公平的價格順利變現的能力,流動性風險指由於金融資產的變現能力不同而對投資者造成損失的可能性。
信用風險:違約風險,指債務人由於財務狀況出現問題或是失信問題不能及時按照合同規定償還投資人本金和利息,只是投資者蒙受損失。
通貨膨脹風險:營運風險
資產風險的測度:用風險量度風險是由Markowitz在1952年發表其均值-方差投資組合理論中提出來的。
[公式]
若R為離散分布:[公式]
若R為連續分布[公式]
該方法主要的弊端:下行風險
Roy於1952年發表第二篇關於投資組合的論文,其中用下行偏差(Downside Deviation)來度量風險的方法。計算下行風險時,一個最重要的目標變數就是目標收益率,通常使用最低收益率(minimum acceptable rate of return,MARR)代表,MARR可以是無風險收益率,也可以是0,或是資產收益率的平均值。
[公式]
更好的原因:風險價值(value at risk)
最早由摩根大通公司(J.P. Morgan)在1994年通過網路公開發表。 Jorion(2005)的定義:"VaR是給定置信水平和目標時段下預期的最大損失(或最壞情況的損失)",換句話說,就是市場正常波動的條件下、在一定概率水平\alpha%下,某一金融資產或金融資產組合的[公式]在未來特定的一段時間 [公式]最大的可能損失,可以用數學公式表達為:
[公式]
其中[公式]為金融資產或金融資產組合在風險估計期間 [公式]內的價值變動量(取負值為損失,取正值為收益),為置信水平。[公式]為金融資產或金融資產組合在風險估計期間 [公式]內的價值變動量(取負值為損失,取正值為收益),為置信水平。
某金融機構計算出它持有的某一投資組合的VaR為X,這就意味著該機構有95%的把握相信他所持有的這份投資組合在未來\Delta t的最大損失金額不會超過X。
VaR的估算方法:[公式]
期望虧空:VaR在金融業得到了廣泛的應用,但是也有其缺點,為了彌補其缺點,學者們提出用期望虧空(Expected Shortfall,ES)來衡量風險。與VaR的衡量風險的方式類似,期望虧空考慮的是超過VaR水平損失的期望值,也就是最壞的[公式]損失的平均值,可以用數學公式表達為:
[公式]
期望虧空是VaR的變形,一次繼承了其優缺點
最大回撤:實務上經常會用最大回撤(Maximum Drawdown,MDD)來衡量投資(特別是基金)的表現,先來了解一下什麼是回撤(Drawdown)
某資產(或投資組合)在時刻T的回撤指資產在(0,T)的最高峰值與現在價值P_t之間的回落值,用數學表達式:
[公式]
對應的回撤率為:
[公式]
知道回撤的含義之後,我們就可以來看看最大回撤了,資產在T時刻的最大回撤MDD(T),就是資產在時段(0,T)內回撤的最大值,對應的數學公式為
[公式]
對應的最大回撤率為:
[公式]
該指標通常用來描述投資者在持有資產期間可能面對的最大虧損,最大回撤對於追高的投資人特別有指導意義。
實際上我們在使用的時候,P_t即可以視為凈值的波動,可以用收益率連續乘積來進行表示。
❹ 【重磅】萬礦的可視化利器——WindCharts,強勢來襲!
【萬礦可視化新寵】WindCharts震撼發布!
國內首個互動式可視化Python庫,WindCharts由萬礦量化雲平台www.windquant.com獨家推出。這款工具旨在解決Python可視化中的挑戰,提供更便捷、高效的繪圖體驗。
WindCharts相較於Matplotlib、seaborn等工具,它不僅簡化了復雜的代碼編寫,還能生成動態可視化圖,讓你在研究中深入分析細節。不僅限於K線圖、餅圖等常見圖表,還有熱力圖、線型圖、雷達圖等豐富選擇,如展現平安銀行的K線走勢與布林帶,或者直觀展示人工智慧相關概念股的關系。
使用WindCharts,你可以輕松創建日歷圖追蹤大盤漲跌,或通過堆疊條形圖對比基金持倉。此外,它還支持回測策略後的凈值組合與每日回撤圖形,讓你的量化分析更加全面。
想要了解更多WindCharts的強大功能和使用教程,訪問萬礦平台官網www.windquant.com,或加入我們的交流群,包括iWind交流群46324和QQ群465776969。已注冊Wind賬號的用戶可以直接享受高級許可權,未注冊的個人用戶也可以通過網頁版免費注冊。
❺ 基金凈值走勢圖怎麼做
基金凈值走勢圖製作步驟
一、明確數據
製作基金凈值走勢圖前,需要收集基金的凈值數據,包括日期和對應的凈值。數據的准確性和完整性直接影響走勢圖的質量。
二、選擇合適的工具
推薦使用Excel、Python等工具進行基金凈值走勢圖的製作。這些工具具有豐富的數據處理和圖表製作功能,可以滿足製作需求。
三、製作步驟
1. 打開選定工具,導入收集到的基金凈值數據。
2. 選擇合適的圖表類型,如折線圖,能直觀地展示基金凈值的走勢。
3. 在圖表中添加數據標簽,以便更清楚地了解每個時間點的基金凈值。
4. 根據需要調整圖表的樣式和顏色,使其更加美觀和易於理解。
四、注意事項
1. 在製作過程中要確保數據的准確性,避免因數據錯誤導致走勢圖失真。
2. 走勢圖的時間軸要合理設置,以便展示基金在不同時間段的凈值變化。
3. 可以添加一些輔助元素,如均線、趨勢線等,以更深入地分析基金凈值的走勢。
基金凈值走勢圖能夠直觀地展示基金凈值的變化情況,幫助投資者了解基金的收益情況和風險水平。通過製作基金凈值走勢圖,可以更好地進行投資決策。
❻ Python | 計算證券投資的持有期收益率和滾動收益率
本文以基金投資為例,應用Python計算基金產品的滾動收益率和持有期收益率,詳細闡述了基本概念與編程實現。
一、擴展窗口與滾動窗口
持有期(Holding Period)是指投資者持有某種證券的時期。證券的持有期收益率,即證券在持有期間的累計收益。滾動窗口收益率是指在固定長度的時間窗口內計算的收益率,用於評估投資策略在不同時間段的表現。滾動窗口的大小決定了滾動收益率的計算周期,對於投資者選擇投資對象具有參考意義。滾動窗口的概念常在投資分析中提及,例如「任意時點買入某基金,持有N年的平均收益率為xxx」。
二、Python實現
Pandas庫的 DataFrame.rolling 函數提供了一種簡便的計算移動窗口統計數據的方法。此函數允許設置時間窗的大小、最小觀測值數量、窗口的居中位置、窗口類型、計算對象等參數。此外,pyfinance庫中的 TSeries.rollup 函數也提供了計算滾動收益率的功能。通過自行編寫代碼,可以靈活調整窗口寬度計算滾動收益率。本文利用2021至2022年期間每交易日的後復權單位凈值數據,對兩只基金進行分析。結果展示了兩基金的持有期收益率和30個交易日的滾動收益率。滾動收益率在[公式]日至[公式]日的持有期收益率。如,005827.OF在2021年2月23日的滾動收益率為9.4%,即從2021年1月6日持有至2021年2月23日的累計收益率。比較手工與程序結果,驗證了程序的准確性。分析顯示,002340.OF的整體表現優於005827.OF,兩者差距自2021年下半年逐漸拉開。005827.OF在2021年7月至9月期間的虧損顯著,影響了整體收益。滾動收益率還揭示了005827.OF短期內的回撤較大。每個滾動窗口的業績對基金的生命周期至關重要,投資決策需細致考量。