Files
General-Homework/01/01.ipynb
T

3226 lines
109 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "markdown",
"id": "d8b075bb",
"metadata": {},
"source": [
"1. 导入第三方库\n",
"\n",
"导入 `pandas` 库(简写为 `pd`)和 `numpy` 库(简写为 `np`),并查看当前 pandas 的版本号。"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "f169edcf",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:01.500043Z",
"iopub.status.busy": "2026-10-09T06:33:01.499261Z",
"iopub.status.idle": "2026-10-09T06:33:02.597959Z",
"shell.execute_reply": "2026-10-09T06:33:02.594498Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"'3.0.5'"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"pd.__version__"
]
},
{
"cell_type": "markdown",
"id": "fc7ecd30",
"metadata": {},
"source": [
"2. 检测文件编码\n",
"\n",
"用 `chardet` 检测 `datasets/CRSP_Daily_Market_1926_2025.csv` 的编码,并打印检测到的编码名称和置信度。"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "dfa09aff",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:02.606664Z",
"iopub.status.busy": "2026-10-09T06:33:02.605648Z",
"iopub.status.idle": "2026-10-09T06:33:07.151917Z",
"shell.execute_reply": "2026-10-09T06:33:07.148567Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ascii 1.0\n"
]
}
],
"source": [
"import chardet\n",
"\n",
"\n",
"def check_encoding(file):\n",
" with open(file, 'rb') as f:\n",
" result = chardet.detect(f.read())\n",
" return result\n",
"\n",
"\n",
"file = 'datasets/CRSP_Daily_Market_1926_2025.csv'\n",
"result = check_encoding(file)\n",
"print(result['encoding'], result['confidence'])"
]
},
{
"cell_type": "markdown",
"id": "d90188b1",
"metadata": {},
"source": [
"3. 读取 CSV 数据\n",
"\n",
"先读前 5 行确认格式无误,再完整读取,结果赋值给变量 `crsp`。"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "7c765c07",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:07.166344Z",
"iopub.status.busy": "2026-10-09T06:33:07.163147Z",
"iopub.status.idle": "2026-10-09T06:33:07.243394Z",
"shell.execute_reply": "2026-10-09T06:33:07.240225Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>DlyCalDt</th>\n",
" <th>vwretd</th>\n",
" <th>vwretx</th>\n",
" <th>vwTotVal</th>\n",
" <th>vwUsdVal</th>\n",
" <th>vwTotCnt</th>\n",
" <th>vwUsdCnt</th>\n",
" <th>ewretd</th>\n",
" <th>ewretx</th>\n",
" <th>ewTotVal</th>\n",
" <th>ewUsdVal</th>\n",
" <th>ewTotCnt</th>\n",
" <th>ewUsdCnt</th>\n",
" <th>sprtrn</th>\n",
" <th>spindx</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1925-12-31</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>27487487</td>\n",
" <td>NaN</td>\n",
" <td>500</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>27545352</td>\n",
" <td>NaN</td>\n",
" <td>503</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1926-01-02</td>\n",
" <td>0.005689</td>\n",
" <td>0.005689</td>\n",
" <td>27600297</td>\n",
" <td>27366756.0</td>\n",
" <td>494</td>\n",
" <td>491.0</td>\n",
" <td>0.009516</td>\n",
" <td>0.009516</td>\n",
" <td>27658600</td>\n",
" <td>27424620.0</td>\n",
" <td>497</td>\n",
" <td>494.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1926-01-04</td>\n",
" <td>0.000706</td>\n",
" <td>0.000706</td>\n",
" <td>27577892</td>\n",
" <td>27479722.0</td>\n",
" <td>499</td>\n",
" <td>492.0</td>\n",
" <td>0.005780</td>\n",
" <td>0.005780</td>\n",
" <td>27636515</td>\n",
" <td>27538025.0</td>\n",
" <td>502</td>\n",
" <td>495.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1926-01-05</td>\n",
" <td>-0.004821</td>\n",
" <td>-0.004867</td>\n",
" <td>27530213</td>\n",
" <td>27561757.0</td>\n",
" <td>498</td>\n",
" <td>496.0</td>\n",
" <td>-0.001927</td>\n",
" <td>-0.002030</td>\n",
" <td>27588552</td>\n",
" <td>27620380.0</td>\n",
" <td>501</td>\n",
" <td>499.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1926-01-06</td>\n",
" <td>-0.000423</td>\n",
" <td>-0.000427</td>\n",
" <td>27618773</td>\n",
" <td>27526838.0</td>\n",
" <td>502</td>\n",
" <td>497.0</td>\n",
" <td>0.001182</td>\n",
" <td>0.001155</td>\n",
" <td>27676674</td>\n",
" <td>27585177.0</td>\n",
" <td>505</td>\n",
" <td>500.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" DlyCalDt vwretd vwretx vwTotVal vwUsdVal vwTotCnt vwUsdCnt \\\n",
"0 1925-12-31 NaN NaN 27487487 NaN 500 NaN \n",
"1 1926-01-02 0.005689 0.005689 27600297 27366756.0 494 491.0 \n",
"2 1926-01-04 0.000706 0.000706 27577892 27479722.0 499 492.0 \n",
"3 1926-01-05 -0.004821 -0.004867 27530213 27561757.0 498 496.0 \n",
"4 1926-01-06 -0.000423 -0.000427 27618773 27526838.0 502 497.0 \n",
"\n",
" ewretd ewretx ewTotVal ewUsdVal ewTotCnt ewUsdCnt sprtrn \\\n",
"0 NaN NaN 27545352 NaN 503 NaN NaN \n",
"1 0.009516 0.009516 27658600 27424620.0 497 494.0 NaN \n",
"2 0.005780 0.005780 27636515 27538025.0 502 495.0 NaN \n",
"3 -0.001927 -0.002030 27588552 27620380.0 501 499.0 NaN \n",
"4 0.001182 0.001155 27676674 27585177.0 505 500.0 NaN \n",
"\n",
" spindx \n",
"0 NaN \n",
"1 NaN \n",
"2 NaN \n",
"3 NaN \n",
"4 NaN "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp = pd.read_csv(file, nrows=5)\n",
"crsp"
]
},
{
"cell_type": "markdown",
"id": "a68db303",
"metadata": {},
"source": [
"确认格式无误后,完整读取:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "3bcce878",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:07.253945Z",
"iopub.status.busy": "2026-10-09T06:33:07.253116Z",
"iopub.status.idle": "2026-10-09T06:33:07.573377Z",
"shell.execute_reply": "2026-10-09T06:33:07.569920Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>DlyCalDt</th>\n",
" <th>vwretd</th>\n",
" <th>vwretx</th>\n",
" <th>vwTotVal</th>\n",
" <th>vwUsdVal</th>\n",
" <th>vwTotCnt</th>\n",
" <th>vwUsdCnt</th>\n",
" <th>ewretd</th>\n",
" <th>ewretx</th>\n",
" <th>ewTotVal</th>\n",
" <th>ewUsdVal</th>\n",
" <th>ewTotCnt</th>\n",
" <th>ewUsdCnt</th>\n",
" <th>sprtrn</th>\n",
" <th>spindx</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1925-12-31</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>27487487</td>\n",
" <td>NaN</td>\n",
" <td>500</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>27545352</td>\n",
" <td>NaN</td>\n",
" <td>503</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1926-01-02</td>\n",
" <td>0.005689</td>\n",
" <td>0.005689</td>\n",
" <td>27600297</td>\n",
" <td>2.736676e+07</td>\n",
" <td>494</td>\n",
" <td>491.0</td>\n",
" <td>0.009516</td>\n",
" <td>0.009516</td>\n",
" <td>27658600</td>\n",
" <td>2.742462e+07</td>\n",
" <td>497</td>\n",
" <td>494.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1926-01-04</td>\n",
" <td>0.000706</td>\n",
" <td>0.000706</td>\n",
" <td>27577892</td>\n",
" <td>2.747972e+07</td>\n",
" <td>499</td>\n",
" <td>492.0</td>\n",
" <td>0.005780</td>\n",
" <td>0.005780</td>\n",
" <td>27636515</td>\n",
" <td>2.753802e+07</td>\n",
" <td>502</td>\n",
" <td>495.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1926-01-05</td>\n",
" <td>-0.004821</td>\n",
" <td>-0.004867</td>\n",
" <td>27530213</td>\n",
" <td>2.756176e+07</td>\n",
" <td>498</td>\n",
" <td>496.0</td>\n",
" <td>-0.001927</td>\n",
" <td>-0.002030</td>\n",
" <td>27588552</td>\n",
" <td>2.762038e+07</td>\n",
" <td>501</td>\n",
" <td>499.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1926-01-06</td>\n",
" <td>-0.000423</td>\n",
" <td>-0.000427</td>\n",
" <td>27618773</td>\n",
" <td>2.752684e+07</td>\n",
" <td>502</td>\n",
" <td>497.0</td>\n",
" <td>0.001182</td>\n",
" <td>0.001155</td>\n",
" <td>27676674</td>\n",
" <td>2.758518e+07</td>\n",
" <td>505</td>\n",
" <td>500.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26296</th>\n",
" <td>2025-12-24</td>\n",
" <td>0.002914</td>\n",
" <td>0.002904</td>\n",
" <td>88568121481</td>\n",
" <td>8.831774e+10</td>\n",
" <td>9126</td>\n",
" <td>9126.0</td>\n",
" <td>0.003368</td>\n",
" <td>0.003125</td>\n",
" <td>90141105180</td>\n",
" <td>8.988752e+10</td>\n",
" <td>9498</td>\n",
" <td>9498.0</td>\n",
" <td>0.003221</td>\n",
" <td>6932.05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26297</th>\n",
" <td>2025-12-26</td>\n",
" <td>-0.000242</td>\n",
" <td>-0.000325</td>\n",
" <td>88542581122</td>\n",
" <td>8.856811e+10</td>\n",
" <td>9124</td>\n",
" <td>9124.0</td>\n",
" <td>-0.002105</td>\n",
" <td>-0.002373</td>\n",
" <td>90125553062</td>\n",
" <td>9.014109e+10</td>\n",
" <td>9496</td>\n",
" <td>9496.0</td>\n",
" <td>-0.000304</td>\n",
" <td>6929.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26298</th>\n",
" <td>2025-12-29</td>\n",
" <td>-0.004191</td>\n",
" <td>-0.004230</td>\n",
" <td>88169518843</td>\n",
" <td>8.854242e+10</td>\n",
" <td>9123</td>\n",
" <td>9123.0</td>\n",
" <td>-0.008373</td>\n",
" <td>-0.008603</td>\n",
" <td>89739994612</td>\n",
" <td>9.012539e+10</td>\n",
" <td>9495</td>\n",
" <td>9495.0</td>\n",
" <td>-0.003492</td>\n",
" <td>6905.74</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26299</th>\n",
" <td>2025-12-30</td>\n",
" <td>-0.001550</td>\n",
" <td>-0.001576</td>\n",
" <td>88028533719</td>\n",
" <td>8.816264e+10</td>\n",
" <td>9132</td>\n",
" <td>9121.0</td>\n",
" <td>-0.002831</td>\n",
" <td>-0.003547</td>\n",
" <td>89596162338</td>\n",
" <td>8.973311e+10</td>\n",
" <td>9504</td>\n",
" <td>9493.0</td>\n",
" <td>-0.001376</td>\n",
" <td>6896.24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26300</th>\n",
" <td>2025-12-31</td>\n",
" <td>-0.007319</td>\n",
" <td>-0.007491</td>\n",
" <td>87552025121</td>\n",
" <td>8.802809e+10</td>\n",
" <td>9134</td>\n",
" <td>9131.0</td>\n",
" <td>-0.005245</td>\n",
" <td>-0.005627</td>\n",
" <td>89118194675</td>\n",
" <td>8.959572e+10</td>\n",
" <td>9506</td>\n",
" <td>9503.0</td>\n",
" <td>-0.007358</td>\n",
" <td>6845.50</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>26301 rows × 15 columns</p>\n",
"</div>"
],
"text/plain": [
" DlyCalDt vwretd vwretx vwTotVal vwUsdVal vwTotCnt \\\n",
"0 1925-12-31 NaN NaN 27487487 NaN 500 \n",
"1 1926-01-02 0.005689 0.005689 27600297 2.736676e+07 494 \n",
"2 1926-01-04 0.000706 0.000706 27577892 2.747972e+07 499 \n",
"3 1926-01-05 -0.004821 -0.004867 27530213 2.756176e+07 498 \n",
"4 1926-01-06 -0.000423 -0.000427 27618773 2.752684e+07 502 \n",
"... ... ... ... ... ... ... \n",
"26296 2025-12-24 0.002914 0.002904 88568121481 8.831774e+10 9126 \n",
"26297 2025-12-26 -0.000242 -0.000325 88542581122 8.856811e+10 9124 \n",
"26298 2025-12-29 -0.004191 -0.004230 88169518843 8.854242e+10 9123 \n",
"26299 2025-12-30 -0.001550 -0.001576 88028533719 8.816264e+10 9132 \n",
"26300 2025-12-31 -0.007319 -0.007491 87552025121 8.802809e+10 9134 \n",
"\n",
" vwUsdCnt ewretd ewretx ewTotVal ewUsdVal ewTotCnt \\\n",
"0 NaN NaN NaN 27545352 NaN 503 \n",
"1 491.0 0.009516 0.009516 27658600 2.742462e+07 497 \n",
"2 492.0 0.005780 0.005780 27636515 2.753802e+07 502 \n",
"3 496.0 -0.001927 -0.002030 27588552 2.762038e+07 501 \n",
"4 497.0 0.001182 0.001155 27676674 2.758518e+07 505 \n",
"... ... ... ... ... ... ... \n",
"26296 9126.0 0.003368 0.003125 90141105180 8.988752e+10 9498 \n",
"26297 9124.0 -0.002105 -0.002373 90125553062 9.014109e+10 9496 \n",
"26298 9123.0 -0.008373 -0.008603 89739994612 9.012539e+10 9495 \n",
"26299 9121.0 -0.002831 -0.003547 89596162338 8.973311e+10 9504 \n",
"26300 9131.0 -0.005245 -0.005627 89118194675 8.959572e+10 9506 \n",
"\n",
" ewUsdCnt sprtrn spindx \n",
"0 NaN NaN NaN \n",
"1 494.0 NaN NaN \n",
"2 495.0 NaN NaN \n",
"3 499.0 NaN NaN \n",
"4 500.0 NaN NaN \n",
"... ... ... ... \n",
"26296 9498.0 0.003221 6932.05 \n",
"26297 9496.0 -0.000304 6929.94 \n",
"26298 9495.0 -0.003492 6905.74 \n",
"26299 9493.0 -0.001376 6896.24 \n",
"26300 9503.0 -0.007358 6845.50 \n",
"\n",
"[26301 rows x 15 columns]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp = pd.read_csv(file)\n",
"crsp"
]
},
{
"cell_type": "markdown",
"id": "87494a86",
"metadata": {},
"source": [
"4. 初步认识数据\n",
"\n",
"查看 `crsp` 的行数和列数(`shape`)、前 5 行(`head()`)和后 5 行(`tail()`),并打印出所有的列名。"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "4325fafa",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:07.581013Z",
"iopub.status.busy": "2026-10-09T06:33:07.580182Z",
"iopub.status.idle": "2026-10-09T06:33:07.594550Z",
"shell.execute_reply": "2026-10-09T06:33:07.591208Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"(26301, 15)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp.shape"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "144d4409",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:07.603520Z",
"iopub.status.busy": "2026-10-09T06:33:07.601637Z",
"iopub.status.idle": "2026-10-09T06:33:07.672477Z",
"shell.execute_reply": "2026-10-09T06:33:07.667803Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>DlyCalDt</th>\n",
" <th>vwretd</th>\n",
" <th>vwretx</th>\n",
" <th>vwTotVal</th>\n",
" <th>vwUsdVal</th>\n",
" <th>vwTotCnt</th>\n",
" <th>vwUsdCnt</th>\n",
" <th>ewretd</th>\n",
" <th>ewretx</th>\n",
" <th>ewTotVal</th>\n",
" <th>ewUsdVal</th>\n",
" <th>ewTotCnt</th>\n",
" <th>ewUsdCnt</th>\n",
" <th>sprtrn</th>\n",
" <th>spindx</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1925-12-31</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>27487487</td>\n",
" <td>NaN</td>\n",
" <td>500</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>27545352</td>\n",
" <td>NaN</td>\n",
" <td>503</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1926-01-02</td>\n",
" <td>0.005689</td>\n",
" <td>0.005689</td>\n",
" <td>27600297</td>\n",
" <td>27366756.0</td>\n",
" <td>494</td>\n",
" <td>491.0</td>\n",
" <td>0.009516</td>\n",
" <td>0.009516</td>\n",
" <td>27658600</td>\n",
" <td>27424620.0</td>\n",
" <td>497</td>\n",
" <td>494.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1926-01-04</td>\n",
" <td>0.000706</td>\n",
" <td>0.000706</td>\n",
" <td>27577892</td>\n",
" <td>27479722.0</td>\n",
" <td>499</td>\n",
" <td>492.0</td>\n",
" <td>0.005780</td>\n",
" <td>0.005780</td>\n",
" <td>27636515</td>\n",
" <td>27538025.0</td>\n",
" <td>502</td>\n",
" <td>495.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1926-01-05</td>\n",
" <td>-0.004821</td>\n",
" <td>-0.004867</td>\n",
" <td>27530213</td>\n",
" <td>27561757.0</td>\n",
" <td>498</td>\n",
" <td>496.0</td>\n",
" <td>-0.001927</td>\n",
" <td>-0.002030</td>\n",
" <td>27588552</td>\n",
" <td>27620380.0</td>\n",
" <td>501</td>\n",
" <td>499.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1926-01-06</td>\n",
" <td>-0.000423</td>\n",
" <td>-0.000427</td>\n",
" <td>27618773</td>\n",
" <td>27526838.0</td>\n",
" <td>502</td>\n",
" <td>497.0</td>\n",
" <td>0.001182</td>\n",
" <td>0.001155</td>\n",
" <td>27676674</td>\n",
" <td>27585177.0</td>\n",
" <td>505</td>\n",
" <td>500.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" DlyCalDt vwretd vwretx vwTotVal vwUsdVal vwTotCnt vwUsdCnt \\\n",
"0 1925-12-31 NaN NaN 27487487 NaN 500 NaN \n",
"1 1926-01-02 0.005689 0.005689 27600297 27366756.0 494 491.0 \n",
"2 1926-01-04 0.000706 0.000706 27577892 27479722.0 499 492.0 \n",
"3 1926-01-05 -0.004821 -0.004867 27530213 27561757.0 498 496.0 \n",
"4 1926-01-06 -0.000423 -0.000427 27618773 27526838.0 502 497.0 \n",
"\n",
" ewretd ewretx ewTotVal ewUsdVal ewTotCnt ewUsdCnt sprtrn \\\n",
"0 NaN NaN 27545352 NaN 503 NaN NaN \n",
"1 0.009516 0.009516 27658600 27424620.0 497 494.0 NaN \n",
"2 0.005780 0.005780 27636515 27538025.0 502 495.0 NaN \n",
"3 -0.001927 -0.002030 27588552 27620380.0 501 499.0 NaN \n",
"4 0.001182 0.001155 27676674 27585177.0 505 500.0 NaN \n",
"\n",
" spindx \n",
"0 NaN \n",
"1 NaN \n",
"2 NaN \n",
"3 NaN \n",
"4 NaN "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp.head()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "0b122155",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:07.680628Z",
"iopub.status.busy": "2026-10-09T06:33:07.679612Z",
"iopub.status.idle": "2026-10-09T06:33:07.773686Z",
"shell.execute_reply": "2026-10-09T06:33:07.767599Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>DlyCalDt</th>\n",
" <th>vwretd</th>\n",
" <th>vwretx</th>\n",
" <th>vwTotVal</th>\n",
" <th>vwUsdVal</th>\n",
" <th>vwTotCnt</th>\n",
" <th>vwUsdCnt</th>\n",
" <th>ewretd</th>\n",
" <th>ewretx</th>\n",
" <th>ewTotVal</th>\n",
" <th>ewUsdVal</th>\n",
" <th>ewTotCnt</th>\n",
" <th>ewUsdCnt</th>\n",
" <th>sprtrn</th>\n",
" <th>spindx</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>26296</th>\n",
" <td>2025-12-24</td>\n",
" <td>0.002914</td>\n",
" <td>0.002904</td>\n",
" <td>88568121481</td>\n",
" <td>8.831774e+10</td>\n",
" <td>9126</td>\n",
" <td>9126.0</td>\n",
" <td>0.003368</td>\n",
" <td>0.003125</td>\n",
" <td>90141105180</td>\n",
" <td>8.988752e+10</td>\n",
" <td>9498</td>\n",
" <td>9498.0</td>\n",
" <td>0.003221</td>\n",
" <td>6932.05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26297</th>\n",
" <td>2025-12-26</td>\n",
" <td>-0.000242</td>\n",
" <td>-0.000325</td>\n",
" <td>88542581122</td>\n",
" <td>8.856811e+10</td>\n",
" <td>9124</td>\n",
" <td>9124.0</td>\n",
" <td>-0.002105</td>\n",
" <td>-0.002373</td>\n",
" <td>90125553062</td>\n",
" <td>9.014109e+10</td>\n",
" <td>9496</td>\n",
" <td>9496.0</td>\n",
" <td>-0.000304</td>\n",
" <td>6929.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26298</th>\n",
" <td>2025-12-29</td>\n",
" <td>-0.004191</td>\n",
" <td>-0.004230</td>\n",
" <td>88169518843</td>\n",
" <td>8.854242e+10</td>\n",
" <td>9123</td>\n",
" <td>9123.0</td>\n",
" <td>-0.008373</td>\n",
" <td>-0.008603</td>\n",
" <td>89739994612</td>\n",
" <td>9.012539e+10</td>\n",
" <td>9495</td>\n",
" <td>9495.0</td>\n",
" <td>-0.003492</td>\n",
" <td>6905.74</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26299</th>\n",
" <td>2025-12-30</td>\n",
" <td>-0.001550</td>\n",
" <td>-0.001576</td>\n",
" <td>88028533719</td>\n",
" <td>8.816264e+10</td>\n",
" <td>9132</td>\n",
" <td>9121.0</td>\n",
" <td>-0.002831</td>\n",
" <td>-0.003547</td>\n",
" <td>89596162338</td>\n",
" <td>8.973311e+10</td>\n",
" <td>9504</td>\n",
" <td>9493.0</td>\n",
" <td>-0.001376</td>\n",
" <td>6896.24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26300</th>\n",
" <td>2025-12-31</td>\n",
" <td>-0.007319</td>\n",
" <td>-0.007491</td>\n",
" <td>87552025121</td>\n",
" <td>8.802809e+10</td>\n",
" <td>9134</td>\n",
" <td>9131.0</td>\n",
" <td>-0.005245</td>\n",
" <td>-0.005627</td>\n",
" <td>89118194675</td>\n",
" <td>8.959572e+10</td>\n",
" <td>9506</td>\n",
" <td>9503.0</td>\n",
" <td>-0.007358</td>\n",
" <td>6845.50</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" DlyCalDt vwretd vwretx vwTotVal vwUsdVal vwTotCnt \\\n",
"26296 2025-12-24 0.002914 0.002904 88568121481 8.831774e+10 9126 \n",
"26297 2025-12-26 -0.000242 -0.000325 88542581122 8.856811e+10 9124 \n",
"26298 2025-12-29 -0.004191 -0.004230 88169518843 8.854242e+10 9123 \n",
"26299 2025-12-30 -0.001550 -0.001576 88028533719 8.816264e+10 9132 \n",
"26300 2025-12-31 -0.007319 -0.007491 87552025121 8.802809e+10 9134 \n",
"\n",
" vwUsdCnt ewretd ewretx ewTotVal ewUsdVal ewTotCnt \\\n",
"26296 9126.0 0.003368 0.003125 90141105180 8.988752e+10 9498 \n",
"26297 9124.0 -0.002105 -0.002373 90125553062 9.014109e+10 9496 \n",
"26298 9123.0 -0.008373 -0.008603 89739994612 9.012539e+10 9495 \n",
"26299 9121.0 -0.002831 -0.003547 89596162338 8.973311e+10 9504 \n",
"26300 9131.0 -0.005245 -0.005627 89118194675 8.959572e+10 9506 \n",
"\n",
" ewUsdCnt sprtrn spindx \n",
"26296 9498.0 0.003221 6932.05 \n",
"26297 9496.0 -0.000304 6929.94 \n",
"26298 9495.0 -0.003492 6905.74 \n",
"26299 9493.0 -0.001376 6896.24 \n",
"26300 9503.0 -0.007358 6845.50 "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp.tail()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "5c970fb8",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:07.782768Z",
"iopub.status.busy": "2026-10-09T06:33:07.782062Z",
"iopub.status.idle": "2026-10-09T06:33:07.800097Z",
"shell.execute_reply": "2026-10-09T06:33:07.797167Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['DlyCalDt', 'vwretd', 'vwretx', 'vwTotVal', 'vwUsdVal', 'vwTotCnt',\n",
" 'vwUsdCnt', 'ewretd', 'ewretx', 'ewTotVal', 'ewUsdVal', 'ewTotCnt',\n",
" 'ewUsdCnt', 'sprtrn', 'spindx'],\n",
" dtype='str')"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp.columns"
]
},
{
"cell_type": "markdown",
"id": "5648828a",
"metadata": {},
"source": [
"5. 数据的基本信息与统计摘要\n",
"\n",
"用 `info()` 和 `describe()` 查看 `crsp` 的列类型和统计摘要。`vwretd` 等列名中,vw = value-weighted 市值加权,ew = equal-weighted 等权重;`sprtrn`、`spindx` 两列从 1962 年 7 月才开始有数据,所以非缺失值个数明显更少。"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "0cc3d4d8",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:07.818847Z",
"iopub.status.busy": "2026-10-09T06:33:07.817266Z",
"iopub.status.idle": "2026-10-09T06:33:07.874233Z",
"shell.execute_reply": "2026-10-09T06:33:07.868076Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.DataFrame'>\n",
"RangeIndex: 26301 entries, 0 to 26300\n",
"Data columns (total 15 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 DlyCalDt 26301 non-null str \n",
" 1 vwretd 26300 non-null float64\n",
" 2 vwretx 26300 non-null float64\n",
" 3 vwTotVal 26301 non-null int64 \n",
" 4 vwUsdVal 26300 non-null float64\n",
" 5 vwTotCnt 26301 non-null int64 \n",
" 6 vwUsdCnt 26300 non-null float64\n",
" 7 ewretd 26300 non-null float64\n",
" 8 ewretx 26300 non-null float64\n",
" 9 ewTotVal 26301 non-null int64 \n",
" 10 ewUsdVal 26300 non-null float64\n",
" 11 ewTotCnt 26301 non-null int64 \n",
" 12 ewUsdCnt 26300 non-null float64\n",
" 13 sprtrn 15981 non-null float64\n",
" 14 spindx 15982 non-null float64\n",
"dtypes: float64(10), int64(4), str(1)\n",
"memory usage: 3.0 MB\n"
]
}
],
"source": [
"crsp.info()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "88ce7182",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:07.884334Z",
"iopub.status.busy": "2026-10-09T06:33:07.883511Z",
"iopub.status.idle": "2026-10-09T06:33:08.132986Z",
"shell.execute_reply": "2026-10-09T06:33:08.128879Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>vwretd</th>\n",
" <th>vwretx</th>\n",
" <th>vwTotVal</th>\n",
" <th>vwUsdVal</th>\n",
" <th>vwTotCnt</th>\n",
" <th>vwUsdCnt</th>\n",
" <th>ewretd</th>\n",
" <th>ewretx</th>\n",
" <th>ewTotVal</th>\n",
" <th>ewUsdVal</th>\n",
" <th>ewTotCnt</th>\n",
" <th>ewUsdCnt</th>\n",
" <th>sprtrn</th>\n",
" <th>spindx</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>26300.000000</td>\n",
" <td>26300.000000</td>\n",
" <td>2.630100e+04</td>\n",
" <td>2.630000e+04</td>\n",
" <td>26301.000000</td>\n",
" <td>26300.000000</td>\n",
" <td>26300.000000</td>\n",
" <td>26300.000000</td>\n",
" <td>2.630100e+04</td>\n",
" <td>2.630000e+04</td>\n",
" <td>26301.000000</td>\n",
" <td>26300.000000</td>\n",
" <td>15981.000000</td>\n",
" <td>15982.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>0.000421</td>\n",
" <td>0.000286</td>\n",
" <td>8.463483e+09</td>\n",
" <td>8.459652e+09</td>\n",
" <td>3935.620661</td>\n",
" <td>3930.434487</td>\n",
" <td>0.000801</td>\n",
" <td>0.000689</td>\n",
" <td>8.699635e+09</td>\n",
" <td>8.695712e+09</td>\n",
" <td>4075.014980</td>\n",
" <td>4071.904411</td>\n",
" <td>0.000355</td>\n",
" <td>1088.306449</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.010710</td>\n",
" <td>0.010709</td>\n",
" <td>1.555537e+10</td>\n",
" <td>1.554715e+10</td>\n",
" <td>2899.110650</td>\n",
" <td>2896.441375</td>\n",
" <td>0.010570</td>\n",
" <td>0.010572</td>\n",
" <td>1.593272e+10</td>\n",
" <td>1.592440e+10</td>\n",
" <td>3042.168464</td>\n",
" <td>3041.323725</td>\n",
" <td>0.010357</td>\n",
" <td>1371.250067</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>-0.171345</td>\n",
" <td>-0.171419</td>\n",
" <td>1.229773e+07</td>\n",
" <td>1.228914e+07</td>\n",
" <td>406.000000</td>\n",
" <td>404.000000</td>\n",
" <td>-0.135468</td>\n",
" <td>-0.135510</td>\n",
" <td>1.243940e+07</td>\n",
" <td>1.243080e+07</td>\n",
" <td>408.000000</td>\n",
" <td>406.000000</td>\n",
" <td>-0.204669</td>\n",
" <td>53.490000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>-0.003854</td>\n",
" <td>-0.003980</td>\n",
" <td>6.339168e+07</td>\n",
" <td>6.330839e+07</td>\n",
" <td>944.000000</td>\n",
" <td>943.000000</td>\n",
" <td>-0.003011</td>\n",
" <td>-0.003138</td>\n",
" <td>6.372042e+07</td>\n",
" <td>6.365784e+07</td>\n",
" <td>947.000000</td>\n",
" <td>946.000000</td>\n",
" <td>-0.004274</td>\n",
" <td>106.325000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>0.000759</td>\n",
" <td>0.000624</td>\n",
" <td>7.730611e+08</td>\n",
" <td>7.728701e+08</td>\n",
" <td>4753.000000</td>\n",
" <td>4747.000000</td>\n",
" <td>0.001280</td>\n",
" <td>0.001172</td>\n",
" <td>7.956396e+08</td>\n",
" <td>7.954800e+08</td>\n",
" <td>4827.000000</td>\n",
" <td>4821.000000</td>\n",
" <td>0.000485</td>\n",
" <td>460.845000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>0.005075</td>\n",
" <td>0.004952</td>\n",
" <td>1.204819e+10</td>\n",
" <td>1.204109e+10</td>\n",
" <td>6630.000000</td>\n",
" <td>6608.000000</td>\n",
" <td>0.005063</td>\n",
" <td>0.004956</td>\n",
" <td>1.237183e+10</td>\n",
" <td>1.237003e+10</td>\n",
" <td>6876.000000</td>\n",
" <td>6872.000000</td>\n",
" <td>0.005240</td>\n",
" <td>1376.532500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>0.156838</td>\n",
" <td>0.152974</td>\n",
" <td>8.856812e+10</td>\n",
" <td>8.856811e+10</td>\n",
" <td>9166.000000</td>\n",
" <td>9163.000000</td>\n",
" <td>0.203020</td>\n",
" <td>0.201795</td>\n",
" <td>9.014111e+10</td>\n",
" <td>9.014109e+10</td>\n",
" <td>9538.000000</td>\n",
" <td>9535.000000</td>\n",
" <td>0.115800</td>\n",
" <td>6932.050000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" vwretd vwretx vwTotVal vwUsdVal vwTotCnt \\\n",
"count 26300.000000 26300.000000 2.630100e+04 2.630000e+04 26301.000000 \n",
"mean 0.000421 0.000286 8.463483e+09 8.459652e+09 3935.620661 \n",
"std 0.010710 0.010709 1.555537e+10 1.554715e+10 2899.110650 \n",
"min -0.171345 -0.171419 1.229773e+07 1.228914e+07 406.000000 \n",
"25% -0.003854 -0.003980 6.339168e+07 6.330839e+07 944.000000 \n",
"50% 0.000759 0.000624 7.730611e+08 7.728701e+08 4753.000000 \n",
"75% 0.005075 0.004952 1.204819e+10 1.204109e+10 6630.000000 \n",
"max 0.156838 0.152974 8.856812e+10 8.856811e+10 9166.000000 \n",
"\n",
" vwUsdCnt ewretd ewretx ewTotVal ewUsdVal \\\n",
"count 26300.000000 26300.000000 26300.000000 2.630100e+04 2.630000e+04 \n",
"mean 3930.434487 0.000801 0.000689 8.699635e+09 8.695712e+09 \n",
"std 2896.441375 0.010570 0.010572 1.593272e+10 1.592440e+10 \n",
"min 404.000000 -0.135468 -0.135510 1.243940e+07 1.243080e+07 \n",
"25% 943.000000 -0.003011 -0.003138 6.372042e+07 6.365784e+07 \n",
"50% 4747.000000 0.001280 0.001172 7.956396e+08 7.954800e+08 \n",
"75% 6608.000000 0.005063 0.004956 1.237183e+10 1.237003e+10 \n",
"max 9163.000000 0.203020 0.201795 9.014111e+10 9.014109e+10 \n",
"\n",
" ewTotCnt ewUsdCnt sprtrn spindx \n",
"count 26301.000000 26300.000000 15981.000000 15982.000000 \n",
"mean 4075.014980 4071.904411 0.000355 1088.306449 \n",
"std 3042.168464 3041.323725 0.010357 1371.250067 \n",
"min 408.000000 406.000000 -0.204669 53.490000 \n",
"25% 947.000000 946.000000 -0.004274 106.325000 \n",
"50% 4827.000000 4821.000000 0.000485 460.845000 \n",
"75% 6876.000000 6872.000000 0.005240 1376.532500 \n",
"max 9538.000000 9535.000000 0.115800 6932.050000 "
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp.describe()"
]
},
{
"cell_type": "markdown",
"id": "2d1829d6",
"metadata": {},
"source": [
"6. 选择列\n",
"\n",
"① 单层中括号取出 `sprtrn` 列(Series);② 双层中括号同时取出 `DlyCalDt` 和 `sprtrn` 两列(DataFrame),并用 `type()` 验证。"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "c2987c6e",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:08.145930Z",
"iopub.status.busy": "2026-10-09T06:33:08.144341Z",
"iopub.status.idle": "2026-10-09T06:33:08.167788Z",
"shell.execute_reply": "2026-10-09T06:33:08.163775Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"pandas.Series"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sprtrn_series = crsp['sprtrn']\n",
"type(sprtrn_series)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "5400dfa7",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:08.179336Z",
"iopub.status.busy": "2026-10-09T06:33:08.177948Z",
"iopub.status.idle": "2026-10-09T06:33:08.209012Z",
"shell.execute_reply": "2026-10-09T06:33:08.201637Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"pandas.DataFrame"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp_two_cols = crsp[['DlyCalDt', 'sprtrn']]\n",
"type(crsp_two_cols)"
]
},
{
"cell_type": "markdown",
"id": "167e98ea",
"metadata": {},
"source": [
"7. 选择行\n",
"\n",
"① 用 `iloc` 选出第 0 行到第 4 行、第 0 列到第 2 列;② 用 `at` 取出第 1 行 `vwretd` 列的数值;③ 用 `loc` 选出第 0 行到第 4 行、且只包含 `DlyCalDt` 和 `vwretd` 两列。`iloc` 按整数位置切片(含头不含尾),`loc` 按标签切片(首尾都包含)。"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "1cb98b32",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:08.219493Z",
"iopub.status.busy": "2026-10-09T06:33:08.218344Z",
"iopub.status.idle": "2026-10-09T06:33:08.265945Z",
"shell.execute_reply": "2026-10-09T06:33:08.260243Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>DlyCalDt</th>\n",
" <th>vwretd</th>\n",
" <th>vwretx</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1925-12-31</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1926-01-02</td>\n",
" <td>0.005689</td>\n",
" <td>0.005689</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1926-01-04</td>\n",
" <td>0.000706</td>\n",
" <td>0.000706</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1926-01-05</td>\n",
" <td>-0.004821</td>\n",
" <td>-0.004867</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1926-01-06</td>\n",
" <td>-0.000423</td>\n",
" <td>-0.000427</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" DlyCalDt vwretd vwretx\n",
"0 1925-12-31 NaN NaN\n",
"1 1926-01-02 0.005689 0.005689\n",
"2 1926-01-04 0.000706 0.000706\n",
"3 1926-01-05 -0.004821 -0.004867\n",
"4 1926-01-06 -0.000423 -0.000427"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp.iloc[0:5, 0:3]"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "1b786edb",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:08.275398Z",
"iopub.status.busy": "2026-10-09T06:33:08.274390Z",
"iopub.status.idle": "2026-10-09T06:33:08.297639Z",
"shell.execute_reply": "2026-10-09T06:33:08.292013Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"0.005689"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp.at[1, 'vwretd']"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "8491dd67",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:08.307638Z",
"iopub.status.busy": "2026-10-09T06:33:08.306948Z",
"iopub.status.idle": "2026-10-09T06:33:08.341062Z",
"shell.execute_reply": "2026-10-09T06:33:08.337752Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>DlyCalDt</th>\n",
" <th>vwretd</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1925-12-31</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1926-01-02</td>\n",
" <td>0.005689</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1926-01-04</td>\n",
" <td>0.000706</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1926-01-05</td>\n",
" <td>-0.004821</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1926-01-06</td>\n",
" <td>-0.000423</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" DlyCalDt vwretd\n",
"0 1925-12-31 NaN\n",
"1 1926-01-02 0.005689\n",
"2 1926-01-04 0.000706\n",
"3 1926-01-05 -0.004821\n",
"4 1926-01-06 -0.000423"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp.loc[0:4, ['DlyCalDt', 'vwretd']]"
]
},
{
"cell_type": "markdown",
"id": "d98287b2",
"metadata": {},
"source": [
"8. 日期处理三步曲\n",
"\n",
"① 把 `DlyCalDt` 列从文本转换为 `datetime` 格式;② 按 `DlyCalDt` 升序排序;③ 把 `DlyCalDt` 设为索引。"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "4db3b33e",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:08.353840Z",
"iopub.status.busy": "2026-10-09T06:33:08.352809Z",
"iopub.status.idle": "2026-10-09T06:33:08.479765Z",
"shell.execute_reply": "2026-10-09T06:33:08.474097Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>DlyCalDt</th>\n",
" <th>vwretd</th>\n",
" <th>vwretx</th>\n",
" <th>vwTotVal</th>\n",
" <th>vwUsdVal</th>\n",
" <th>vwTotCnt</th>\n",
" <th>vwUsdCnt</th>\n",
" <th>ewretd</th>\n",
" <th>ewretx</th>\n",
" <th>ewTotVal</th>\n",
" <th>ewUsdVal</th>\n",
" <th>ewTotCnt</th>\n",
" <th>ewUsdCnt</th>\n",
" <th>sprtrn</th>\n",
" <th>spindx</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1925-12-31</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>27487487</td>\n",
" <td>NaN</td>\n",
" <td>500</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>27545352</td>\n",
" <td>NaN</td>\n",
" <td>503</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1926-01-02</td>\n",
" <td>0.005689</td>\n",
" <td>0.005689</td>\n",
" <td>27600297</td>\n",
" <td>2.736676e+07</td>\n",
" <td>494</td>\n",
" <td>491.0</td>\n",
" <td>0.009516</td>\n",
" <td>0.009516</td>\n",
" <td>27658600</td>\n",
" <td>2.742462e+07</td>\n",
" <td>497</td>\n",
" <td>494.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1926-01-04</td>\n",
" <td>0.000706</td>\n",
" <td>0.000706</td>\n",
" <td>27577892</td>\n",
" <td>2.747972e+07</td>\n",
" <td>499</td>\n",
" <td>492.0</td>\n",
" <td>0.005780</td>\n",
" <td>0.005780</td>\n",
" <td>27636515</td>\n",
" <td>2.753802e+07</td>\n",
" <td>502</td>\n",
" <td>495.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1926-01-05</td>\n",
" <td>-0.004821</td>\n",
" <td>-0.004867</td>\n",
" <td>27530213</td>\n",
" <td>2.756176e+07</td>\n",
" <td>498</td>\n",
" <td>496.0</td>\n",
" <td>-0.001927</td>\n",
" <td>-0.002030</td>\n",
" <td>27588552</td>\n",
" <td>2.762038e+07</td>\n",
" <td>501</td>\n",
" <td>499.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1926-01-06</td>\n",
" <td>-0.000423</td>\n",
" <td>-0.000427</td>\n",
" <td>27618773</td>\n",
" <td>2.752684e+07</td>\n",
" <td>502</td>\n",
" <td>497.0</td>\n",
" <td>0.001182</td>\n",
" <td>0.001155</td>\n",
" <td>27676674</td>\n",
" <td>2.758518e+07</td>\n",
" <td>505</td>\n",
" <td>500.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26296</th>\n",
" <td>2025-12-24</td>\n",
" <td>0.002914</td>\n",
" <td>0.002904</td>\n",
" <td>88568121481</td>\n",
" <td>8.831774e+10</td>\n",
" <td>9126</td>\n",
" <td>9126.0</td>\n",
" <td>0.003368</td>\n",
" <td>0.003125</td>\n",
" <td>90141105180</td>\n",
" <td>8.988752e+10</td>\n",
" <td>9498</td>\n",
" <td>9498.0</td>\n",
" <td>0.003221</td>\n",
" <td>6932.05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26297</th>\n",
" <td>2025-12-26</td>\n",
" <td>-0.000242</td>\n",
" <td>-0.000325</td>\n",
" <td>88542581122</td>\n",
" <td>8.856811e+10</td>\n",
" <td>9124</td>\n",
" <td>9124.0</td>\n",
" <td>-0.002105</td>\n",
" <td>-0.002373</td>\n",
" <td>90125553062</td>\n",
" <td>9.014109e+10</td>\n",
" <td>9496</td>\n",
" <td>9496.0</td>\n",
" <td>-0.000304</td>\n",
" <td>6929.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26298</th>\n",
" <td>2025-12-29</td>\n",
" <td>-0.004191</td>\n",
" <td>-0.004230</td>\n",
" <td>88169518843</td>\n",
" <td>8.854242e+10</td>\n",
" <td>9123</td>\n",
" <td>9123.0</td>\n",
" <td>-0.008373</td>\n",
" <td>-0.008603</td>\n",
" <td>89739994612</td>\n",
" <td>9.012539e+10</td>\n",
" <td>9495</td>\n",
" <td>9495.0</td>\n",
" <td>-0.003492</td>\n",
" <td>6905.74</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26299</th>\n",
" <td>2025-12-30</td>\n",
" <td>-0.001550</td>\n",
" <td>-0.001576</td>\n",
" <td>88028533719</td>\n",
" <td>8.816264e+10</td>\n",
" <td>9132</td>\n",
" <td>9121.0</td>\n",
" <td>-0.002831</td>\n",
" <td>-0.003547</td>\n",
" <td>89596162338</td>\n",
" <td>8.973311e+10</td>\n",
" <td>9504</td>\n",
" <td>9493.0</td>\n",
" <td>-0.001376</td>\n",
" <td>6896.24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26300</th>\n",
" <td>2025-12-31</td>\n",
" <td>-0.007319</td>\n",
" <td>-0.007491</td>\n",
" <td>87552025121</td>\n",
" <td>8.802809e+10</td>\n",
" <td>9134</td>\n",
" <td>9131.0</td>\n",
" <td>-0.005245</td>\n",
" <td>-0.005627</td>\n",
" <td>89118194675</td>\n",
" <td>8.959572e+10</td>\n",
" <td>9506</td>\n",
" <td>9503.0</td>\n",
" <td>-0.007358</td>\n",
" <td>6845.50</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>26301 rows × 15 columns</p>\n",
"</div>"
],
"text/plain": [
" DlyCalDt vwretd vwretx vwTotVal vwUsdVal vwTotCnt \\\n",
"0 1925-12-31 NaN NaN 27487487 NaN 500 \n",
"1 1926-01-02 0.005689 0.005689 27600297 2.736676e+07 494 \n",
"2 1926-01-04 0.000706 0.000706 27577892 2.747972e+07 499 \n",
"3 1926-01-05 -0.004821 -0.004867 27530213 2.756176e+07 498 \n",
"4 1926-01-06 -0.000423 -0.000427 27618773 2.752684e+07 502 \n",
"... ... ... ... ... ... ... \n",
"26296 2025-12-24 0.002914 0.002904 88568121481 8.831774e+10 9126 \n",
"26297 2025-12-26 -0.000242 -0.000325 88542581122 8.856811e+10 9124 \n",
"26298 2025-12-29 -0.004191 -0.004230 88169518843 8.854242e+10 9123 \n",
"26299 2025-12-30 -0.001550 -0.001576 88028533719 8.816264e+10 9132 \n",
"26300 2025-12-31 -0.007319 -0.007491 87552025121 8.802809e+10 9134 \n",
"\n",
" vwUsdCnt ewretd ewretx ewTotVal ewUsdVal ewTotCnt \\\n",
"0 NaN NaN NaN 27545352 NaN 503 \n",
"1 491.0 0.009516 0.009516 27658600 2.742462e+07 497 \n",
"2 492.0 0.005780 0.005780 27636515 2.753802e+07 502 \n",
"3 496.0 -0.001927 -0.002030 27588552 2.762038e+07 501 \n",
"4 497.0 0.001182 0.001155 27676674 2.758518e+07 505 \n",
"... ... ... ... ... ... ... \n",
"26296 9126.0 0.003368 0.003125 90141105180 8.988752e+10 9498 \n",
"26297 9124.0 -0.002105 -0.002373 90125553062 9.014109e+10 9496 \n",
"26298 9123.0 -0.008373 -0.008603 89739994612 9.012539e+10 9495 \n",
"26299 9121.0 -0.002831 -0.003547 89596162338 8.973311e+10 9504 \n",
"26300 9131.0 -0.005245 -0.005627 89118194675 8.959572e+10 9506 \n",
"\n",
" ewUsdCnt sprtrn spindx \n",
"0 NaN NaN NaN \n",
"1 494.0 NaN NaN \n",
"2 495.0 NaN NaN \n",
"3 499.0 NaN NaN \n",
"4 500.0 NaN NaN \n",
"... ... ... ... \n",
"26296 9498.0 0.003221 6932.05 \n",
"26297 9496.0 -0.000304 6929.94 \n",
"26298 9495.0 -0.003492 6905.74 \n",
"26299 9493.0 -0.001376 6896.24 \n",
"26300 9503.0 -0.007358 6845.50 \n",
"\n",
"[26301 rows x 15 columns]"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp['DlyCalDt'] = pd.to_datetime(crsp['DlyCalDt'], format='%Y-%m-%d')\n",
"crsp"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "fe827242",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:08.490641Z",
"iopub.status.busy": "2026-10-09T06:33:08.489043Z",
"iopub.status.idle": "2026-10-09T06:33:08.604629Z",
"shell.execute_reply": "2026-10-09T06:33:08.602560Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>DlyCalDt</th>\n",
" <th>vwretd</th>\n",
" <th>vwretx</th>\n",
" <th>vwTotVal</th>\n",
" <th>vwUsdVal</th>\n",
" <th>vwTotCnt</th>\n",
" <th>vwUsdCnt</th>\n",
" <th>ewretd</th>\n",
" <th>ewretx</th>\n",
" <th>ewTotVal</th>\n",
" <th>ewUsdVal</th>\n",
" <th>ewTotCnt</th>\n",
" <th>ewUsdCnt</th>\n",
" <th>sprtrn</th>\n",
" <th>spindx</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1925-12-31</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>27487487</td>\n",
" <td>NaN</td>\n",
" <td>500</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>27545352</td>\n",
" <td>NaN</td>\n",
" <td>503</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1926-01-02</td>\n",
" <td>0.005689</td>\n",
" <td>0.005689</td>\n",
" <td>27600297</td>\n",
" <td>2.736676e+07</td>\n",
" <td>494</td>\n",
" <td>491.0</td>\n",
" <td>0.009516</td>\n",
" <td>0.009516</td>\n",
" <td>27658600</td>\n",
" <td>2.742462e+07</td>\n",
" <td>497</td>\n",
" <td>494.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1926-01-04</td>\n",
" <td>0.000706</td>\n",
" <td>0.000706</td>\n",
" <td>27577892</td>\n",
" <td>2.747972e+07</td>\n",
" <td>499</td>\n",
" <td>492.0</td>\n",
" <td>0.005780</td>\n",
" <td>0.005780</td>\n",
" <td>27636515</td>\n",
" <td>2.753802e+07</td>\n",
" <td>502</td>\n",
" <td>495.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1926-01-05</td>\n",
" <td>-0.004821</td>\n",
" <td>-0.004867</td>\n",
" <td>27530213</td>\n",
" <td>2.756176e+07</td>\n",
" <td>498</td>\n",
" <td>496.0</td>\n",
" <td>-0.001927</td>\n",
" <td>-0.002030</td>\n",
" <td>27588552</td>\n",
" <td>2.762038e+07</td>\n",
" <td>501</td>\n",
" <td>499.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1926-01-06</td>\n",
" <td>-0.000423</td>\n",
" <td>-0.000427</td>\n",
" <td>27618773</td>\n",
" <td>2.752684e+07</td>\n",
" <td>502</td>\n",
" <td>497.0</td>\n",
" <td>0.001182</td>\n",
" <td>0.001155</td>\n",
" <td>27676674</td>\n",
" <td>2.758518e+07</td>\n",
" <td>505</td>\n",
" <td>500.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26296</th>\n",
" <td>2025-12-24</td>\n",
" <td>0.002914</td>\n",
" <td>0.002904</td>\n",
" <td>88568121481</td>\n",
" <td>8.831774e+10</td>\n",
" <td>9126</td>\n",
" <td>9126.0</td>\n",
" <td>0.003368</td>\n",
" <td>0.003125</td>\n",
" <td>90141105180</td>\n",
" <td>8.988752e+10</td>\n",
" <td>9498</td>\n",
" <td>9498.0</td>\n",
" <td>0.003221</td>\n",
" <td>6932.05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26297</th>\n",
" <td>2025-12-26</td>\n",
" <td>-0.000242</td>\n",
" <td>-0.000325</td>\n",
" <td>88542581122</td>\n",
" <td>8.856811e+10</td>\n",
" <td>9124</td>\n",
" <td>9124.0</td>\n",
" <td>-0.002105</td>\n",
" <td>-0.002373</td>\n",
" <td>90125553062</td>\n",
" <td>9.014109e+10</td>\n",
" <td>9496</td>\n",
" <td>9496.0</td>\n",
" <td>-0.000304</td>\n",
" <td>6929.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26298</th>\n",
" <td>2025-12-29</td>\n",
" <td>-0.004191</td>\n",
" <td>-0.004230</td>\n",
" <td>88169518843</td>\n",
" <td>8.854242e+10</td>\n",
" <td>9123</td>\n",
" <td>9123.0</td>\n",
" <td>-0.008373</td>\n",
" <td>-0.008603</td>\n",
" <td>89739994612</td>\n",
" <td>9.012539e+10</td>\n",
" <td>9495</td>\n",
" <td>9495.0</td>\n",
" <td>-0.003492</td>\n",
" <td>6905.74</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26299</th>\n",
" <td>2025-12-30</td>\n",
" <td>-0.001550</td>\n",
" <td>-0.001576</td>\n",
" <td>88028533719</td>\n",
" <td>8.816264e+10</td>\n",
" <td>9132</td>\n",
" <td>9121.0</td>\n",
" <td>-0.002831</td>\n",
" <td>-0.003547</td>\n",
" <td>89596162338</td>\n",
" <td>8.973311e+10</td>\n",
" <td>9504</td>\n",
" <td>9493.0</td>\n",
" <td>-0.001376</td>\n",
" <td>6896.24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26300</th>\n",
" <td>2025-12-31</td>\n",
" <td>-0.007319</td>\n",
" <td>-0.007491</td>\n",
" <td>87552025121</td>\n",
" <td>8.802809e+10</td>\n",
" <td>9134</td>\n",
" <td>9131.0</td>\n",
" <td>-0.005245</td>\n",
" <td>-0.005627</td>\n",
" <td>89118194675</td>\n",
" <td>8.959572e+10</td>\n",
" <td>9506</td>\n",
" <td>9503.0</td>\n",
" <td>-0.007358</td>\n",
" <td>6845.50</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>26301 rows × 15 columns</p>\n",
"</div>"
],
"text/plain": [
" DlyCalDt vwretd vwretx vwTotVal vwUsdVal vwTotCnt \\\n",
"0 1925-12-31 NaN NaN 27487487 NaN 500 \n",
"1 1926-01-02 0.005689 0.005689 27600297 2.736676e+07 494 \n",
"2 1926-01-04 0.000706 0.000706 27577892 2.747972e+07 499 \n",
"3 1926-01-05 -0.004821 -0.004867 27530213 2.756176e+07 498 \n",
"4 1926-01-06 -0.000423 -0.000427 27618773 2.752684e+07 502 \n",
"... ... ... ... ... ... ... \n",
"26296 2025-12-24 0.002914 0.002904 88568121481 8.831774e+10 9126 \n",
"26297 2025-12-26 -0.000242 -0.000325 88542581122 8.856811e+10 9124 \n",
"26298 2025-12-29 -0.004191 -0.004230 88169518843 8.854242e+10 9123 \n",
"26299 2025-12-30 -0.001550 -0.001576 88028533719 8.816264e+10 9132 \n",
"26300 2025-12-31 -0.007319 -0.007491 87552025121 8.802809e+10 9134 \n",
"\n",
" vwUsdCnt ewretd ewretx ewTotVal ewUsdVal ewTotCnt \\\n",
"0 NaN NaN NaN 27545352 NaN 503 \n",
"1 491.0 0.009516 0.009516 27658600 2.742462e+07 497 \n",
"2 492.0 0.005780 0.005780 27636515 2.753802e+07 502 \n",
"3 496.0 -0.001927 -0.002030 27588552 2.762038e+07 501 \n",
"4 497.0 0.001182 0.001155 27676674 2.758518e+07 505 \n",
"... ... ... ... ... ... ... \n",
"26296 9126.0 0.003368 0.003125 90141105180 8.988752e+10 9498 \n",
"26297 9124.0 -0.002105 -0.002373 90125553062 9.014109e+10 9496 \n",
"26298 9123.0 -0.008373 -0.008603 89739994612 9.012539e+10 9495 \n",
"26299 9121.0 -0.002831 -0.003547 89596162338 8.973311e+10 9504 \n",
"26300 9131.0 -0.005245 -0.005627 89118194675 8.959572e+10 9506 \n",
"\n",
" ewUsdCnt sprtrn spindx \n",
"0 NaN NaN NaN \n",
"1 494.0 NaN NaN \n",
"2 495.0 NaN NaN \n",
"3 499.0 NaN NaN \n",
"4 500.0 NaN NaN \n",
"... ... ... ... \n",
"26296 9498.0 0.003221 6932.05 \n",
"26297 9496.0 -0.000304 6929.94 \n",
"26298 9495.0 -0.003492 6905.74 \n",
"26299 9493.0 -0.001376 6896.24 \n",
"26300 9503.0 -0.007358 6845.50 \n",
"\n",
"[26301 rows x 15 columns]"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp = crsp.sort_values('DlyCalDt')\n",
"crsp"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "40905fae",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:08.620836Z",
"iopub.status.busy": "2026-10-09T06:33:08.617668Z",
"iopub.status.idle": "2026-10-09T06:33:08.744412Z",
"shell.execute_reply": "2026-10-09T06:33:08.739711Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>vwretd</th>\n",
" <th>vwretx</th>\n",
" <th>vwTotVal</th>\n",
" <th>vwUsdVal</th>\n",
" <th>vwTotCnt</th>\n",
" <th>vwUsdCnt</th>\n",
" <th>ewretd</th>\n",
" <th>ewretx</th>\n",
" <th>ewTotVal</th>\n",
" <th>ewUsdVal</th>\n",
" <th>ewTotCnt</th>\n",
" <th>ewUsdCnt</th>\n",
" <th>sprtrn</th>\n",
" <th>spindx</th>\n",
" </tr>\n",
" <tr>\n",
" <th>DlyCalDt</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1925-12-31</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>27487487</td>\n",
" <td>NaN</td>\n",
" <td>500</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>27545352</td>\n",
" <td>NaN</td>\n",
" <td>503</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1926-01-02</th>\n",
" <td>0.005689</td>\n",
" <td>0.005689</td>\n",
" <td>27600297</td>\n",
" <td>2.736676e+07</td>\n",
" <td>494</td>\n",
" <td>491.0</td>\n",
" <td>0.009516</td>\n",
" <td>0.009516</td>\n",
" <td>27658600</td>\n",
" <td>2.742462e+07</td>\n",
" <td>497</td>\n",
" <td>494.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1926-01-04</th>\n",
" <td>0.000706</td>\n",
" <td>0.000706</td>\n",
" <td>27577892</td>\n",
" <td>2.747972e+07</td>\n",
" <td>499</td>\n",
" <td>492.0</td>\n",
" <td>0.005780</td>\n",
" <td>0.005780</td>\n",
" <td>27636515</td>\n",
" <td>2.753802e+07</td>\n",
" <td>502</td>\n",
" <td>495.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1926-01-05</th>\n",
" <td>-0.004821</td>\n",
" <td>-0.004867</td>\n",
" <td>27530213</td>\n",
" <td>2.756176e+07</td>\n",
" <td>498</td>\n",
" <td>496.0</td>\n",
" <td>-0.001927</td>\n",
" <td>-0.002030</td>\n",
" <td>27588552</td>\n",
" <td>2.762038e+07</td>\n",
" <td>501</td>\n",
" <td>499.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1926-01-06</th>\n",
" <td>-0.000423</td>\n",
" <td>-0.000427</td>\n",
" <td>27618773</td>\n",
" <td>2.752684e+07</td>\n",
" <td>502</td>\n",
" <td>497.0</td>\n",
" <td>0.001182</td>\n",
" <td>0.001155</td>\n",
" <td>27676674</td>\n",
" <td>2.758518e+07</td>\n",
" <td>505</td>\n",
" <td>500.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2025-12-24</th>\n",
" <td>0.002914</td>\n",
" <td>0.002904</td>\n",
" <td>88568121481</td>\n",
" <td>8.831774e+10</td>\n",
" <td>9126</td>\n",
" <td>9126.0</td>\n",
" <td>0.003368</td>\n",
" <td>0.003125</td>\n",
" <td>90141105180</td>\n",
" <td>8.988752e+10</td>\n",
" <td>9498</td>\n",
" <td>9498.0</td>\n",
" <td>0.003221</td>\n",
" <td>6932.05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2025-12-26</th>\n",
" <td>-0.000242</td>\n",
" <td>-0.000325</td>\n",
" <td>88542581122</td>\n",
" <td>8.856811e+10</td>\n",
" <td>9124</td>\n",
" <td>9124.0</td>\n",
" <td>-0.002105</td>\n",
" <td>-0.002373</td>\n",
" <td>90125553062</td>\n",
" <td>9.014109e+10</td>\n",
" <td>9496</td>\n",
" <td>9496.0</td>\n",
" <td>-0.000304</td>\n",
" <td>6929.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2025-12-29</th>\n",
" <td>-0.004191</td>\n",
" <td>-0.004230</td>\n",
" <td>88169518843</td>\n",
" <td>8.854242e+10</td>\n",
" <td>9123</td>\n",
" <td>9123.0</td>\n",
" <td>-0.008373</td>\n",
" <td>-0.008603</td>\n",
" <td>89739994612</td>\n",
" <td>9.012539e+10</td>\n",
" <td>9495</td>\n",
" <td>9495.0</td>\n",
" <td>-0.003492</td>\n",
" <td>6905.74</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2025-12-30</th>\n",
" <td>-0.001550</td>\n",
" <td>-0.001576</td>\n",
" <td>88028533719</td>\n",
" <td>8.816264e+10</td>\n",
" <td>9132</td>\n",
" <td>9121.0</td>\n",
" <td>-0.002831</td>\n",
" <td>-0.003547</td>\n",
" <td>89596162338</td>\n",
" <td>8.973311e+10</td>\n",
" <td>9504</td>\n",
" <td>9493.0</td>\n",
" <td>-0.001376</td>\n",
" <td>6896.24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2025-12-31</th>\n",
" <td>-0.007319</td>\n",
" <td>-0.007491</td>\n",
" <td>87552025121</td>\n",
" <td>8.802809e+10</td>\n",
" <td>9134</td>\n",
" <td>9131.0</td>\n",
" <td>-0.005245</td>\n",
" <td>-0.005627</td>\n",
" <td>89118194675</td>\n",
" <td>8.959572e+10</td>\n",
" <td>9506</td>\n",
" <td>9503.0</td>\n",
" <td>-0.007358</td>\n",
" <td>6845.50</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>26301 rows × 14 columns</p>\n",
"</div>"
],
"text/plain": [
" vwretd vwretx vwTotVal vwUsdVal vwTotCnt vwUsdCnt \\\n",
"DlyCalDt \n",
"1925-12-31 NaN NaN 27487487 NaN 500 NaN \n",
"1926-01-02 0.005689 0.005689 27600297 2.736676e+07 494 491.0 \n",
"1926-01-04 0.000706 0.000706 27577892 2.747972e+07 499 492.0 \n",
"1926-01-05 -0.004821 -0.004867 27530213 2.756176e+07 498 496.0 \n",
"1926-01-06 -0.000423 -0.000427 27618773 2.752684e+07 502 497.0 \n",
"... ... ... ... ... ... ... \n",
"2025-12-24 0.002914 0.002904 88568121481 8.831774e+10 9126 9126.0 \n",
"2025-12-26 -0.000242 -0.000325 88542581122 8.856811e+10 9124 9124.0 \n",
"2025-12-29 -0.004191 -0.004230 88169518843 8.854242e+10 9123 9123.0 \n",
"2025-12-30 -0.001550 -0.001576 88028533719 8.816264e+10 9132 9121.0 \n",
"2025-12-31 -0.007319 -0.007491 87552025121 8.802809e+10 9134 9131.0 \n",
"\n",
" ewretd ewretx ewTotVal ewUsdVal ewTotCnt ewUsdCnt \\\n",
"DlyCalDt \n",
"1925-12-31 NaN NaN 27545352 NaN 503 NaN \n",
"1926-01-02 0.009516 0.009516 27658600 2.742462e+07 497 494.0 \n",
"1926-01-04 0.005780 0.005780 27636515 2.753802e+07 502 495.0 \n",
"1926-01-05 -0.001927 -0.002030 27588552 2.762038e+07 501 499.0 \n",
"1926-01-06 0.001182 0.001155 27676674 2.758518e+07 505 500.0 \n",
"... ... ... ... ... ... ... \n",
"2025-12-24 0.003368 0.003125 90141105180 8.988752e+10 9498 9498.0 \n",
"2025-12-26 -0.002105 -0.002373 90125553062 9.014109e+10 9496 9496.0 \n",
"2025-12-29 -0.008373 -0.008603 89739994612 9.012539e+10 9495 9495.0 \n",
"2025-12-30 -0.002831 -0.003547 89596162338 8.973311e+10 9504 9493.0 \n",
"2025-12-31 -0.005245 -0.005627 89118194675 8.959572e+10 9506 9503.0 \n",
"\n",
" sprtrn spindx \n",
"DlyCalDt \n",
"1925-12-31 NaN NaN \n",
"1926-01-02 NaN NaN \n",
"1926-01-04 NaN NaN \n",
"1926-01-05 NaN NaN \n",
"1926-01-06 NaN NaN \n",
"... ... ... \n",
"2025-12-24 0.003221 6932.05 \n",
"2025-12-26 -0.000304 6929.94 \n",
"2025-12-29 -0.003492 6905.74 \n",
"2025-12-30 -0.001376 6896.24 \n",
"2025-12-31 -0.007358 6845.50 \n",
"\n",
"[26301 rows x 14 columns]"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp = crsp.set_index('DlyCalDt')\n",
"crsp"
]
},
{
"cell_type": "markdown",
"id": "875abb6e",
"metadata": {},
"source": [
"9. 按时间筛选\n",
"\n",
"筛选出 2020 年全年的数据,赋值给 `crsp_2020`,并检查行数(大约 253 个交易日)。"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "745aacd5",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:08.752993Z",
"iopub.status.busy": "2026-10-09T06:33:08.751983Z",
"iopub.status.idle": "2026-10-09T06:33:08.864520Z",
"shell.execute_reply": "2026-10-09T06:33:08.862526Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"253\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>vwretd</th>\n",
" <th>vwretx</th>\n",
" <th>vwTotVal</th>\n",
" <th>vwUsdVal</th>\n",
" <th>vwTotCnt</th>\n",
" <th>vwUsdCnt</th>\n",
" <th>ewretd</th>\n",
" <th>ewretx</th>\n",
" <th>ewTotVal</th>\n",
" <th>ewUsdVal</th>\n",
" <th>ewTotCnt</th>\n",
" <th>ewUsdCnt</th>\n",
" <th>sprtrn</th>\n",
" <th>spindx</th>\n",
" </tr>\n",
" <tr>\n",
" <th>DlyCalDt</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2020-01-02</th>\n",
" <td>0.007412</td>\n",
" <td>0.007316</td>\n",
" <td>41464754137</td>\n",
" <td>4.115634e+10</td>\n",
" <td>6871</td>\n",
" <td>6866.0</td>\n",
" <td>0.005470</td>\n",
" <td>0.005428</td>\n",
" <td>42902996443</td>\n",
" <td>4.255570e+10</td>\n",
" <td>7253</td>\n",
" <td>7248.0</td>\n",
" <td>0.008379</td>\n",
" <td>3257.85</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-03</th>\n",
" <td>-0.005828</td>\n",
" <td>-0.005900</td>\n",
" <td>41221078749</td>\n",
" <td>4.146475e+10</td>\n",
" <td>6871</td>\n",
" <td>6871.0</td>\n",
" <td>-0.003057</td>\n",
" <td>-0.003072</td>\n",
" <td>42645264616</td>\n",
" <td>4.290300e+10</td>\n",
" <td>7253</td>\n",
" <td>7253.0</td>\n",
" <td>-0.007060</td>\n",
" <td>3234.85</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-06</th>\n",
" <td>0.003269</td>\n",
" <td>0.003245</td>\n",
" <td>41345986288</td>\n",
" <td>4.121183e+10</td>\n",
" <td>6871</td>\n",
" <td>6869.0</td>\n",
" <td>0.004548</td>\n",
" <td>0.004519</td>\n",
" <td>42768514163</td>\n",
" <td>4.263602e+10</td>\n",
" <td>7253</td>\n",
" <td>7251.0</td>\n",
" <td>0.003533</td>\n",
" <td>3246.28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-07</th>\n",
" <td>-0.002147</td>\n",
" <td>-0.002216</td>\n",
" <td>41255461753</td>\n",
" <td>4.134598e+10</td>\n",
" <td>6870</td>\n",
" <td>6870.0</td>\n",
" <td>-0.000041</td>\n",
" <td>-0.000057</td>\n",
" <td>42699866212</td>\n",
" <td>4.276851e+10</td>\n",
" <td>7253</td>\n",
" <td>7252.0</td>\n",
" <td>-0.002803</td>\n",
" <td>3237.18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-01-08</th>\n",
" <td>0.004028</td>\n",
" <td>0.003996</td>\n",
" <td>41421675525</td>\n",
" <td>4.125546e+10</td>\n",
" <td>6871</td>\n",
" <td>6870.0</td>\n",
" <td>0.000914</td>\n",
" <td>0.000903</td>\n",
" <td>42870237688</td>\n",
" <td>4.269987e+10</td>\n",
" <td>7254</td>\n",
" <td>7253.0</td>\n",
" <td>0.004902</td>\n",
" <td>3253.05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-12-24</th>\n",
" <td>0.002330</td>\n",
" <td>0.002195</td>\n",
" <td>49379202924</td>\n",
" <td>4.929405e+10</td>\n",
" <td>7101</td>\n",
" <td>7101.0</td>\n",
" <td>-0.000277</td>\n",
" <td>-0.000458</td>\n",
" <td>50948672283</td>\n",
" <td>5.091918e+10</td>\n",
" <td>7515</td>\n",
" <td>7515.0</td>\n",
" <td>0.003537</td>\n",
" <td>3703.06</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-12-28</th>\n",
" <td>0.003847</td>\n",
" <td>0.003836</td>\n",
" <td>49569832981</td>\n",
" <td>4.937920e+10</td>\n",
" <td>7103</td>\n",
" <td>7101.0</td>\n",
" <td>0.001350</td>\n",
" <td>0.001304</td>\n",
" <td>51120836691</td>\n",
" <td>5.093776e+10</td>\n",
" <td>7516</td>\n",
" <td>7514.0</td>\n",
" <td>0.008723</td>\n",
" <td>3735.36</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-12-29</th>\n",
" <td>-0.003652</td>\n",
" <td>-0.003660</td>\n",
" <td>49387356377</td>\n",
" <td>4.956717e+10</td>\n",
" <td>7108</td>\n",
" <td>7101.0</td>\n",
" <td>-0.008483</td>\n",
" <td>-0.008656</td>\n",
" <td>50978120468</td>\n",
" <td>5.111818e+10</td>\n",
" <td>7522</td>\n",
" <td>7514.0</td>\n",
" <td>-0.002227</td>\n",
" <td>3727.04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-12-30</th>\n",
" <td>0.003291</td>\n",
" <td>0.003124</td>\n",
" <td>49542217608</td>\n",
" <td>4.938705e+10</td>\n",
" <td>7107</td>\n",
" <td>7105.0</td>\n",
" <td>0.010155</td>\n",
" <td>0.009754</td>\n",
" <td>51166821544</td>\n",
" <td>5.097782e+10</td>\n",
" <td>7521</td>\n",
" <td>7519.0</td>\n",
" <td>0.001342</td>\n",
" <td>3732.04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2020-12-31</th>\n",
" <td>0.003558</td>\n",
" <td>0.003499</td>\n",
" <td>49839515298</td>\n",
" <td>4.954190e+10</td>\n",
" <td>7111</td>\n",
" <td>7105.0</td>\n",
" <td>-0.001058</td>\n",
" <td>-0.001129</td>\n",
" <td>51464416577</td>\n",
" <td>5.116650e+10</td>\n",
" <td>7525</td>\n",
" <td>7519.0</td>\n",
" <td>0.006439</td>\n",
" <td>3756.07</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>253 rows × 14 columns</p>\n",
"</div>"
],
"text/plain": [
" vwretd vwretx vwTotVal vwUsdVal vwTotCnt vwUsdCnt \\\n",
"DlyCalDt \n",
"2020-01-02 0.007412 0.007316 41464754137 4.115634e+10 6871 6866.0 \n",
"2020-01-03 -0.005828 -0.005900 41221078749 4.146475e+10 6871 6871.0 \n",
"2020-01-06 0.003269 0.003245 41345986288 4.121183e+10 6871 6869.0 \n",
"2020-01-07 -0.002147 -0.002216 41255461753 4.134598e+10 6870 6870.0 \n",
"2020-01-08 0.004028 0.003996 41421675525 4.125546e+10 6871 6870.0 \n",
"... ... ... ... ... ... ... \n",
"2020-12-24 0.002330 0.002195 49379202924 4.929405e+10 7101 7101.0 \n",
"2020-12-28 0.003847 0.003836 49569832981 4.937920e+10 7103 7101.0 \n",
"2020-12-29 -0.003652 -0.003660 49387356377 4.956717e+10 7108 7101.0 \n",
"2020-12-30 0.003291 0.003124 49542217608 4.938705e+10 7107 7105.0 \n",
"2020-12-31 0.003558 0.003499 49839515298 4.954190e+10 7111 7105.0 \n",
"\n",
" ewretd ewretx ewTotVal ewUsdVal ewTotCnt ewUsdCnt \\\n",
"DlyCalDt \n",
"2020-01-02 0.005470 0.005428 42902996443 4.255570e+10 7253 7248.0 \n",
"2020-01-03 -0.003057 -0.003072 42645264616 4.290300e+10 7253 7253.0 \n",
"2020-01-06 0.004548 0.004519 42768514163 4.263602e+10 7253 7251.0 \n",
"2020-01-07 -0.000041 -0.000057 42699866212 4.276851e+10 7253 7252.0 \n",
"2020-01-08 0.000914 0.000903 42870237688 4.269987e+10 7254 7253.0 \n",
"... ... ... ... ... ... ... \n",
"2020-12-24 -0.000277 -0.000458 50948672283 5.091918e+10 7515 7515.0 \n",
"2020-12-28 0.001350 0.001304 51120836691 5.093776e+10 7516 7514.0 \n",
"2020-12-29 -0.008483 -0.008656 50978120468 5.111818e+10 7522 7514.0 \n",
"2020-12-30 0.010155 0.009754 51166821544 5.097782e+10 7521 7519.0 \n",
"2020-12-31 -0.001058 -0.001129 51464416577 5.116650e+10 7525 7519.0 \n",
"\n",
" sprtrn spindx \n",
"DlyCalDt \n",
"2020-01-02 0.008379 3257.85 \n",
"2020-01-03 -0.007060 3234.85 \n",
"2020-01-06 0.003533 3246.28 \n",
"2020-01-07 -0.002803 3237.18 \n",
"2020-01-08 0.004902 3253.05 \n",
"... ... ... \n",
"2020-12-24 0.003537 3703.06 \n",
"2020-12-28 0.008723 3735.36 \n",
"2020-12-29 -0.002227 3727.04 \n",
"2020-12-30 0.001342 3732.04 \n",
"2020-12-31 0.006439 3756.07 \n",
"\n",
"[253 rows x 14 columns]"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"crsp_2020 = crsp.loc['2020']\n",
"print(len(crsp_2020))\n",
"crsp_2020"
]
},
{
"cell_type": "markdown",
"id": "630c5b57",
"metadata": {},
"source": [
"10. 保存数据\n",
"\n",
"把 `crsp_2020` 保存为 `datasets/CRSP_2020.csv`:① 把日期索引一并写入文件(`index=True`);② 用 `encoding='utf-8-sig'`,Excel 直接打开不出现乱码。保存后重新读回验证。"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "bffe7661",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:08.874430Z",
"iopub.status.busy": "2026-10-09T06:33:08.873649Z",
"iopub.status.idle": "2026-10-09T06:33:08.904051Z",
"shell.execute_reply": "2026-10-09T06:33:08.900808Z"
}
},
"outputs": [],
"source": [
"crsp_2020.to_csv('datasets/CRSP_2020.csv', index=True, encoding='utf-8-sig')"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "82797d15",
"metadata": {
"execution": {
"iopub.execute_input": "2026-10-09T06:33:08.914592Z",
"iopub.status.busy": "2026-10-09T06:33:08.911383Z",
"iopub.status.idle": "2026-10-09T06:33:09.031226Z",
"shell.execute_reply": "2026-10-09T06:33:09.027079Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>DlyCalDt</th>\n",
" <th>vwretd</th>\n",
" <th>vwretx</th>\n",
" <th>vwTotVal</th>\n",
" <th>vwUsdVal</th>\n",
" <th>vwTotCnt</th>\n",
" <th>vwUsdCnt</th>\n",
" <th>ewretd</th>\n",
" <th>ewretx</th>\n",
" <th>ewTotVal</th>\n",
" <th>ewUsdVal</th>\n",
" <th>ewTotCnt</th>\n",
" <th>ewUsdCnt</th>\n",
" <th>sprtrn</th>\n",
" <th>spindx</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2020-01-02</td>\n",
" <td>0.007412</td>\n",
" <td>0.007316</td>\n",
" <td>41464754137</td>\n",
" <td>4.115634e+10</td>\n",
" <td>6871</td>\n",
" <td>6866.0</td>\n",
" <td>0.005470</td>\n",
" <td>0.005428</td>\n",
" <td>42902996443</td>\n",
" <td>4.255570e+10</td>\n",
" <td>7253</td>\n",
" <td>7248.0</td>\n",
" <td>0.008379</td>\n",
" <td>3257.85</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2020-01-03</td>\n",
" <td>-0.005828</td>\n",
" <td>-0.005900</td>\n",
" <td>41221078749</td>\n",
" <td>4.146475e+10</td>\n",
" <td>6871</td>\n",
" <td>6871.0</td>\n",
" <td>-0.003057</td>\n",
" <td>-0.003072</td>\n",
" <td>42645264616</td>\n",
" <td>4.290300e+10</td>\n",
" <td>7253</td>\n",
" <td>7253.0</td>\n",
" <td>-0.007060</td>\n",
" <td>3234.85</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2020-01-06</td>\n",
" <td>0.003269</td>\n",
" <td>0.003245</td>\n",
" <td>41345986288</td>\n",
" <td>4.121183e+10</td>\n",
" <td>6871</td>\n",
" <td>6869.0</td>\n",
" <td>0.004548</td>\n",
" <td>0.004519</td>\n",
" <td>42768514163</td>\n",
" <td>4.263602e+10</td>\n",
" <td>7253</td>\n",
" <td>7251.0</td>\n",
" <td>0.003533</td>\n",
" <td>3246.28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2020-01-07</td>\n",
" <td>-0.002147</td>\n",
" <td>-0.002216</td>\n",
" <td>41255461753</td>\n",
" <td>4.134598e+10</td>\n",
" <td>6870</td>\n",
" <td>6870.0</td>\n",
" <td>-0.000041</td>\n",
" <td>-0.000057</td>\n",
" <td>42699866212</td>\n",
" <td>4.276851e+10</td>\n",
" <td>7253</td>\n",
" <td>7252.0</td>\n",
" <td>-0.002803</td>\n",
" <td>3237.18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2020-01-08</td>\n",
" <td>0.004028</td>\n",
" <td>0.003996</td>\n",
" <td>41421675525</td>\n",
" <td>4.125546e+10</td>\n",
" <td>6871</td>\n",
" <td>6870.0</td>\n",
" <td>0.000914</td>\n",
" <td>0.000903</td>\n",
" <td>42870237688</td>\n",
" <td>4.269987e+10</td>\n",
" <td>7254</td>\n",
" <td>7253.0</td>\n",
" <td>0.004902</td>\n",
" <td>3253.05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>248</th>\n",
" <td>2020-12-24</td>\n",
" <td>0.002330</td>\n",
" <td>0.002195</td>\n",
" <td>49379202924</td>\n",
" <td>4.929405e+10</td>\n",
" <td>7101</td>\n",
" <td>7101.0</td>\n",
" <td>-0.000277</td>\n",
" <td>-0.000458</td>\n",
" <td>50948672283</td>\n",
" <td>5.091918e+10</td>\n",
" <td>7515</td>\n",
" <td>7515.0</td>\n",
" <td>0.003537</td>\n",
" <td>3703.06</td>\n",
" </tr>\n",
" <tr>\n",
" <th>249</th>\n",
" <td>2020-12-28</td>\n",
" <td>0.003847</td>\n",
" <td>0.003836</td>\n",
" <td>49569832981</td>\n",
" <td>4.937920e+10</td>\n",
" <td>7103</td>\n",
" <td>7101.0</td>\n",
" <td>0.001350</td>\n",
" <td>0.001304</td>\n",
" <td>51120836691</td>\n",
" <td>5.093776e+10</td>\n",
" <td>7516</td>\n",
" <td>7514.0</td>\n",
" <td>0.008723</td>\n",
" <td>3735.36</td>\n",
" </tr>\n",
" <tr>\n",
" <th>250</th>\n",
" <td>2020-12-29</td>\n",
" <td>-0.003652</td>\n",
" <td>-0.003660</td>\n",
" <td>49387356377</td>\n",
" <td>4.956717e+10</td>\n",
" <td>7108</td>\n",
" <td>7101.0</td>\n",
" <td>-0.008483</td>\n",
" <td>-0.008656</td>\n",
" <td>50978120468</td>\n",
" <td>5.111818e+10</td>\n",
" <td>7522</td>\n",
" <td>7514.0</td>\n",
" <td>-0.002227</td>\n",
" <td>3727.04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>251</th>\n",
" <td>2020-12-30</td>\n",
" <td>0.003291</td>\n",
" <td>0.003124</td>\n",
" <td>49542217608</td>\n",
" <td>4.938705e+10</td>\n",
" <td>7107</td>\n",
" <td>7105.0</td>\n",
" <td>0.010155</td>\n",
" <td>0.009754</td>\n",
" <td>51166821544</td>\n",
" <td>5.097782e+10</td>\n",
" <td>7521</td>\n",
" <td>7519.0</td>\n",
" <td>0.001342</td>\n",
" <td>3732.04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>252</th>\n",
" <td>2020-12-31</td>\n",
" <td>0.003558</td>\n",
" <td>0.003499</td>\n",
" <td>49839515298</td>\n",
" <td>4.954190e+10</td>\n",
" <td>7111</td>\n",
" <td>7105.0</td>\n",
" <td>-0.001058</td>\n",
" <td>-0.001129</td>\n",
" <td>51464416577</td>\n",
" <td>5.116650e+10</td>\n",
" <td>7525</td>\n",
" <td>7519.0</td>\n",
" <td>0.006439</td>\n",
" <td>3756.07</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>253 rows × 15 columns</p>\n",
"</div>"
],
"text/plain": [
" DlyCalDt vwretd vwretx vwTotVal vwUsdVal vwTotCnt \\\n",
"0 2020-01-02 0.007412 0.007316 41464754137 4.115634e+10 6871 \n",
"1 2020-01-03 -0.005828 -0.005900 41221078749 4.146475e+10 6871 \n",
"2 2020-01-06 0.003269 0.003245 41345986288 4.121183e+10 6871 \n",
"3 2020-01-07 -0.002147 -0.002216 41255461753 4.134598e+10 6870 \n",
"4 2020-01-08 0.004028 0.003996 41421675525 4.125546e+10 6871 \n",
".. ... ... ... ... ... ... \n",
"248 2020-12-24 0.002330 0.002195 49379202924 4.929405e+10 7101 \n",
"249 2020-12-28 0.003847 0.003836 49569832981 4.937920e+10 7103 \n",
"250 2020-12-29 -0.003652 -0.003660 49387356377 4.956717e+10 7108 \n",
"251 2020-12-30 0.003291 0.003124 49542217608 4.938705e+10 7107 \n",
"252 2020-12-31 0.003558 0.003499 49839515298 4.954190e+10 7111 \n",
"\n",
" vwUsdCnt ewretd ewretx ewTotVal ewUsdVal ewTotCnt \\\n",
"0 6866.0 0.005470 0.005428 42902996443 4.255570e+10 7253 \n",
"1 6871.0 -0.003057 -0.003072 42645264616 4.290300e+10 7253 \n",
"2 6869.0 0.004548 0.004519 42768514163 4.263602e+10 7253 \n",
"3 6870.0 -0.000041 -0.000057 42699866212 4.276851e+10 7253 \n",
"4 6870.0 0.000914 0.000903 42870237688 4.269987e+10 7254 \n",
".. ... ... ... ... ... ... \n",
"248 7101.0 -0.000277 -0.000458 50948672283 5.091918e+10 7515 \n",
"249 7101.0 0.001350 0.001304 51120836691 5.093776e+10 7516 \n",
"250 7101.0 -0.008483 -0.008656 50978120468 5.111818e+10 7522 \n",
"251 7105.0 0.010155 0.009754 51166821544 5.097782e+10 7521 \n",
"252 7105.0 -0.001058 -0.001129 51464416577 5.116650e+10 7525 \n",
"\n",
" ewUsdCnt sprtrn spindx \n",
"0 7248.0 0.008379 3257.85 \n",
"1 7253.0 -0.007060 3234.85 \n",
"2 7251.0 0.003533 3246.28 \n",
"3 7252.0 -0.002803 3237.18 \n",
"4 7253.0 0.004902 3253.05 \n",
".. ... ... ... \n",
"248 7515.0 0.003537 3703.06 \n",
"249 7514.0 0.008723 3735.36 \n",
"250 7514.0 -0.002227 3727.04 \n",
"251 7519.0 0.001342 3732.04 \n",
"252 7519.0 0.006439 3756.07 \n",
"\n",
"[253 rows x 15 columns]"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check = pd.read_csv('datasets/CRSP_2020.csv')\n",
"check"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.11 (jupyter)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.16"
}
},
"nbformat": 4,
"nbformat_minor": 5
}