日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python笔记-沪深三百与茅台简单分析(2021年数据)

發布時間:2025/3/15 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python笔记-沪深三百与茅台简单分析(2021年数据) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下載數據

下載的數據分別是滬深三百2021年數據:

import baostock as bs import pandas as pdif __name__ == '__main__':#### 登陸系統 ####lg = bs.login()# 顯示登陸返回信息print('login respond error_code:' + lg.error_code)print('login respond error_msg:' + lg.error_msg)#### 獲取歷史K線數據 ##### 詳細指標參數,參見“歷史行情指標參數”章節rs = bs.query_history_k_data_plus("000300.SH","date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,peTTM,pbMRQ,psTTM,pcfNcfTTM,isST",start_date='2021-01-01', end_date='2021-12-31') # frequency="d"取日k線,adjustflag="3"默認不復權print('query_history_k_data_plus respond error_code:' + rs.error_code)print('query_history_k_data_plus respond error_msg:' + rs.error_msg)#### 打印結果集 ####data_list = []while (rs.error_code == '0') & rs.next():# 獲取一條記錄,將記錄合并在一起data_list.append(rs.get_row_data())result = pd.DataFrame(data_list, columns=rs.fields)#### 結果集輸出到csv文件 ####result.to_csv("D:/stock/000300.SH.csv", encoding="gbk", index=False)print(result)#### 登出系統 ####bs.logout()pass

茅臺2021年數據:

import baostock as bs import pandas as pdif __name__ == '__main__':#### 登陸系統 ####lg = bs.login()# 顯示登陸返回信息print('login respond error_code:' + lg.error_code)print('login respond error_msg:' + lg.error_msg)#### 獲取歷史K線數據 ##### 詳細指標參數,參見“歷史行情指標參數”章節rs = bs.query_history_k_data_plus("600519.SH","date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,peTTM,pbMRQ,psTTM,pcfNcfTTM,isST",start_date='2021-01-01', end_date='2021-12-31') # frequency="d"取日k線,adjustflag="3"默認不復權print('query_history_k_data_plus respond error_code:' + rs.error_code)print('query_history_k_data_plus respond error_msg:' + rs.error_msg)#### 打印結果集 ####data_list = []while (rs.error_code == '0') & rs.next():# 獲取一條記錄,將記錄合并在一起data_list.append(rs.get_row_data())result = pd.DataFrame(data_list, columns=rs.fields)#### 結果集輸出到csv文件 ####result.to_csv("D:/stock/600519.SH.csv", encoding="gbk", index=False)print(result)#### 登出系統 ####bs.logout()pass

Python分析數據

# -*- coding: utf-8 -*-import pandas as pdif __name__ == '__main__':hs300 = pd.read_csv("000300.SH.csv", index_col="date")maoTai = pd.read_csv("600519.SH.csv", index_col="date")stock_list = [maoTai, hs300]df = pd.concat([stock.pctChg for stock in stock_list], axis=1)df.columns = ['maoTai', 'hs300']df = df.sort_index(ascending=True)print(df.describe())# 填充數據df = df.fillna(0) # 這個可以去掉returns = (df + 1).product() - 1print('累計收益率\n', returns)import seaborn as snsimport matplotlib.pyplot as pltimport matplotlib as mplsns.set()mpl.rcParams['font.family'] = 'sans-serif'mpl.rcParams['font.sans-serif'] = 'SimHei'plt.figure(figsize=(10, 5))for col in df.columns:plt.plot(df[col], label=col)plt.title('日收益率時序圖(2021)', fontsize=20)plt.legend()plt.show()pass

后臺打印如下:

D:\python\content\python.exe D:/PythonProject/demo/demo22.pymaoTai hs300 count 243.000000 243.000000 mean 0.000420 -0.000151 std 0.023567 0.011708 min -0.069911 -0.035325 25% -0.012650 -0.006741 50% 0.000323 0.000398 75% 0.014569 0.006918 max 0.095041 0.031595 累計收益率maoTai 0.035688 hs300 -0.051986 dtype: float64

日收益時序圖如下:

?

相關解釋:

①df.descibe()打印如下信息:

maoTai hs300 count 243.000000 243.000000 mean 0.000420 -0.000151 std 0.023567 0.011708 min -0.069911 -0.035325 25% -0.012650 -0.006741 50% 0.000323 0.000398 75% 0.014569 0.006918 max 0.095041 0.031595

代表的含義:

count:每一列數據有多少行;

mean:改列的平均值;

std:標準偏差(方差開根號);

min:最小值;

25%:有25%的樣本比這個值高;

50%:有50%的樣本比這個值高(這個值是中位數);

75%:有75%的樣本比這個值高;

max:最大值;

②product()這個函數是計算這一列的乘積,代碼里面是這樣的:

returns = (df + 1).product() - 1 print('累計收益率\n', returns)

這里,原始的df是這樣的:

?這些都是當天的收益率,+1,后把這些列都乘起來再-1,算出累計收益率。

總結

以上是生活随笔為你收集整理的Python笔记-沪深三百与茅台简单分析(2021年数据)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。