From 8481a3eeabdb16235f5eb19e435b67edd9949f78 Mon Sep 17 00:00:00 2001 From: RRRosmontis Date: Wed, 14 Oct 2026 18:34:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20Class=201=20=E8=AF=BE?= =?UTF-8?q?=E5=A0=82=E7=BB=83=E4=B9=A0=2001.ipynb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 01/01.ipynb | 3225 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 3225 insertions(+) create mode 100644 01/01.ipynb diff --git a/01/01.ipynb b/01/01.ipynb new file mode 100644 index 0000000..a214535 --- /dev/null +++ b/01/01.ipynb @@ -0,0 +1,3225 @@ +{ + "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DlyCalDtvwretdvwretxvwTotValvwUsdValvwTotCntvwUsdCntewretdewretxewTotValewUsdValewTotCntewUsdCntsprtrnspindx
01925-12-31NaNNaN27487487NaN500NaNNaNNaN27545352NaN503NaNNaNNaN
11926-01-020.0056890.0056892760029727366756.0494491.00.0095160.0095162765860027424620.0497494.0NaNNaN
21926-01-040.0007060.0007062757789227479722.0499492.00.0057800.0057802763651527538025.0502495.0NaNNaN
31926-01-05-0.004821-0.0048672753021327561757.0498496.0-0.001927-0.0020302758855227620380.0501499.0NaNNaN
41926-01-06-0.000423-0.0004272761877327526838.0502497.00.0011820.0011552767667427585177.0505500.0NaNNaN
\n", + "
" + ], + "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DlyCalDtvwretdvwretxvwTotValvwUsdValvwTotCntvwUsdCntewretdewretxewTotValewUsdValewTotCntewUsdCntsprtrnspindx
01925-12-31NaNNaN27487487NaN500NaNNaNNaN27545352NaN503NaNNaNNaN
11926-01-020.0056890.005689276002972.736676e+07494491.00.0095160.009516276586002.742462e+07497494.0NaNNaN
21926-01-040.0007060.000706275778922.747972e+07499492.00.0057800.005780276365152.753802e+07502495.0NaNNaN
31926-01-05-0.004821-0.004867275302132.756176e+07498496.0-0.001927-0.002030275885522.762038e+07501499.0NaNNaN
41926-01-06-0.000423-0.000427276187732.752684e+07502497.00.0011820.001155276766742.758518e+07505500.0NaNNaN
................................................
262962025-12-240.0029140.002904885681214818.831774e+1091269126.00.0033680.003125901411051808.988752e+1094989498.00.0032216932.05
262972025-12-26-0.000242-0.000325885425811228.856811e+1091249124.0-0.002105-0.002373901255530629.014109e+1094969496.0-0.0003046929.94
262982025-12-29-0.004191-0.004230881695188438.854242e+1091239123.0-0.008373-0.008603897399946129.012539e+1094959495.0-0.0034926905.74
262992025-12-30-0.001550-0.001576880285337198.816264e+1091329121.0-0.002831-0.003547895961623388.973311e+1095049493.0-0.0013766896.24
263002025-12-31-0.007319-0.007491875520251218.802809e+1091349131.0-0.005245-0.005627891181946758.959572e+1095069503.0-0.0073586845.50
\n", + "

26301 rows × 15 columns

\n", + "
" + ], + "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DlyCalDtvwretdvwretxvwTotValvwUsdValvwTotCntvwUsdCntewretdewretxewTotValewUsdValewTotCntewUsdCntsprtrnspindx
01925-12-31NaNNaN27487487NaN500NaNNaNNaN27545352NaN503NaNNaNNaN
11926-01-020.0056890.0056892760029727366756.0494491.00.0095160.0095162765860027424620.0497494.0NaNNaN
21926-01-040.0007060.0007062757789227479722.0499492.00.0057800.0057802763651527538025.0502495.0NaNNaN
31926-01-05-0.004821-0.0048672753021327561757.0498496.0-0.001927-0.0020302758855227620380.0501499.0NaNNaN
41926-01-06-0.000423-0.0004272761877327526838.0502497.00.0011820.0011552767667427585177.0505500.0NaNNaN
\n", + "
" + ], + "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DlyCalDtvwretdvwretxvwTotValvwUsdValvwTotCntvwUsdCntewretdewretxewTotValewUsdValewTotCntewUsdCntsprtrnspindx
262962025-12-240.0029140.002904885681214818.831774e+1091269126.00.0033680.003125901411051808.988752e+1094989498.00.0032216932.05
262972025-12-26-0.000242-0.000325885425811228.856811e+1091249124.0-0.002105-0.002373901255530629.014109e+1094969496.0-0.0003046929.94
262982025-12-29-0.004191-0.004230881695188438.854242e+1091239123.0-0.008373-0.008603897399946129.012539e+1094959495.0-0.0034926905.74
262992025-12-30-0.001550-0.001576880285337198.816264e+1091329121.0-0.002831-0.003547895961623388.973311e+1095049493.0-0.0013766896.24
263002025-12-31-0.007319-0.007491875520251218.802809e+1091349131.0-0.005245-0.005627891181946758.959572e+1095069503.0-0.0073586845.50
\n", + "
" + ], + "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": [ + "\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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
vwretdvwretxvwTotValvwUsdValvwTotCntvwUsdCntewretdewretxewTotValewUsdValewTotCntewUsdCntsprtrnspindx
count26300.00000026300.0000002.630100e+042.630000e+0426301.00000026300.00000026300.00000026300.0000002.630100e+042.630000e+0426301.00000026300.00000015981.00000015982.000000
mean0.0004210.0002868.463483e+098.459652e+093935.6206613930.4344870.0008010.0006898.699635e+098.695712e+094075.0149804071.9044110.0003551088.306449
std0.0107100.0107091.555537e+101.554715e+102899.1106502896.4413750.0105700.0105721.593272e+101.592440e+103042.1684643041.3237250.0103571371.250067
min-0.171345-0.1714191.229773e+071.228914e+07406.000000404.000000-0.135468-0.1355101.243940e+071.243080e+07408.000000406.000000-0.20466953.490000
25%-0.003854-0.0039806.339168e+076.330839e+07944.000000943.000000-0.003011-0.0031386.372042e+076.365784e+07947.000000946.000000-0.004274106.325000
50%0.0007590.0006247.730611e+087.728701e+084753.0000004747.0000000.0012800.0011727.956396e+087.954800e+084827.0000004821.0000000.000485460.845000
75%0.0050750.0049521.204819e+101.204109e+106630.0000006608.0000000.0050630.0049561.237183e+101.237003e+106876.0000006872.0000000.0052401376.532500
max0.1568380.1529748.856812e+108.856811e+109166.0000009163.0000000.2030200.2017959.014111e+109.014109e+109538.0000009535.0000000.1158006932.050000
\n", + "
" + ], + "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DlyCalDtvwretdvwretx
01925-12-31NaNNaN
11926-01-020.0056890.005689
21926-01-040.0007060.000706
31926-01-05-0.004821-0.004867
41926-01-06-0.000423-0.000427
\n", + "
" + ], + "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DlyCalDtvwretd
01925-12-31NaN
11926-01-020.005689
21926-01-040.000706
31926-01-05-0.004821
41926-01-06-0.000423
\n", + "
" + ], + "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DlyCalDtvwretdvwretxvwTotValvwUsdValvwTotCntvwUsdCntewretdewretxewTotValewUsdValewTotCntewUsdCntsprtrnspindx
01925-12-31NaNNaN27487487NaN500NaNNaNNaN27545352NaN503NaNNaNNaN
11926-01-020.0056890.005689276002972.736676e+07494491.00.0095160.009516276586002.742462e+07497494.0NaNNaN
21926-01-040.0007060.000706275778922.747972e+07499492.00.0057800.005780276365152.753802e+07502495.0NaNNaN
31926-01-05-0.004821-0.004867275302132.756176e+07498496.0-0.001927-0.002030275885522.762038e+07501499.0NaNNaN
41926-01-06-0.000423-0.000427276187732.752684e+07502497.00.0011820.001155276766742.758518e+07505500.0NaNNaN
................................................
262962025-12-240.0029140.002904885681214818.831774e+1091269126.00.0033680.003125901411051808.988752e+1094989498.00.0032216932.05
262972025-12-26-0.000242-0.000325885425811228.856811e+1091249124.0-0.002105-0.002373901255530629.014109e+1094969496.0-0.0003046929.94
262982025-12-29-0.004191-0.004230881695188438.854242e+1091239123.0-0.008373-0.008603897399946129.012539e+1094959495.0-0.0034926905.74
262992025-12-30-0.001550-0.001576880285337198.816264e+1091329121.0-0.002831-0.003547895961623388.973311e+1095049493.0-0.0013766896.24
263002025-12-31-0.007319-0.007491875520251218.802809e+1091349131.0-0.005245-0.005627891181946758.959572e+1095069503.0-0.0073586845.50
\n", + "

26301 rows × 15 columns

\n", + "
" + ], + "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DlyCalDtvwretdvwretxvwTotValvwUsdValvwTotCntvwUsdCntewretdewretxewTotValewUsdValewTotCntewUsdCntsprtrnspindx
01925-12-31NaNNaN27487487NaN500NaNNaNNaN27545352NaN503NaNNaNNaN
11926-01-020.0056890.005689276002972.736676e+07494491.00.0095160.009516276586002.742462e+07497494.0NaNNaN
21926-01-040.0007060.000706275778922.747972e+07499492.00.0057800.005780276365152.753802e+07502495.0NaNNaN
31926-01-05-0.004821-0.004867275302132.756176e+07498496.0-0.001927-0.002030275885522.762038e+07501499.0NaNNaN
41926-01-06-0.000423-0.000427276187732.752684e+07502497.00.0011820.001155276766742.758518e+07505500.0NaNNaN
................................................
262962025-12-240.0029140.002904885681214818.831774e+1091269126.00.0033680.003125901411051808.988752e+1094989498.00.0032216932.05
262972025-12-26-0.000242-0.000325885425811228.856811e+1091249124.0-0.002105-0.002373901255530629.014109e+1094969496.0-0.0003046929.94
262982025-12-29-0.004191-0.004230881695188438.854242e+1091239123.0-0.008373-0.008603897399946129.012539e+1094959495.0-0.0034926905.74
262992025-12-30-0.001550-0.001576880285337198.816264e+1091329121.0-0.002831-0.003547895961623388.973311e+1095049493.0-0.0013766896.24
263002025-12-31-0.007319-0.007491875520251218.802809e+1091349131.0-0.005245-0.005627891181946758.959572e+1095069503.0-0.0073586845.50
\n", + "

26301 rows × 15 columns

\n", + "
" + ], + "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
vwretdvwretxvwTotValvwUsdValvwTotCntvwUsdCntewretdewretxewTotValewUsdValewTotCntewUsdCntsprtrnspindx
DlyCalDt
1925-12-31NaNNaN27487487NaN500NaNNaNNaN27545352NaN503NaNNaNNaN
1926-01-020.0056890.005689276002972.736676e+07494491.00.0095160.009516276586002.742462e+07497494.0NaNNaN
1926-01-040.0007060.000706275778922.747972e+07499492.00.0057800.005780276365152.753802e+07502495.0NaNNaN
1926-01-05-0.004821-0.004867275302132.756176e+07498496.0-0.001927-0.002030275885522.762038e+07501499.0NaNNaN
1926-01-06-0.000423-0.000427276187732.752684e+07502497.00.0011820.001155276766742.758518e+07505500.0NaNNaN
.............................................
2025-12-240.0029140.002904885681214818.831774e+1091269126.00.0033680.003125901411051808.988752e+1094989498.00.0032216932.05
2025-12-26-0.000242-0.000325885425811228.856811e+1091249124.0-0.002105-0.002373901255530629.014109e+1094969496.0-0.0003046929.94
2025-12-29-0.004191-0.004230881695188438.854242e+1091239123.0-0.008373-0.008603897399946129.012539e+1094959495.0-0.0034926905.74
2025-12-30-0.001550-0.001576880285337198.816264e+1091329121.0-0.002831-0.003547895961623388.973311e+1095049493.0-0.0013766896.24
2025-12-31-0.007319-0.007491875520251218.802809e+1091349131.0-0.005245-0.005627891181946758.959572e+1095069503.0-0.0073586845.50
\n", + "

26301 rows × 14 columns

\n", + "
" + ], + "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
vwretdvwretxvwTotValvwUsdValvwTotCntvwUsdCntewretdewretxewTotValewUsdValewTotCntewUsdCntsprtrnspindx
DlyCalDt
2020-01-020.0074120.007316414647541374.115634e+1068716866.00.0054700.005428429029964434.255570e+1072537248.00.0083793257.85
2020-01-03-0.005828-0.005900412210787494.146475e+1068716871.0-0.003057-0.003072426452646164.290300e+1072537253.0-0.0070603234.85
2020-01-060.0032690.003245413459862884.121183e+1068716869.00.0045480.004519427685141634.263602e+1072537251.00.0035333246.28
2020-01-07-0.002147-0.002216412554617534.134598e+1068706870.0-0.000041-0.000057426998662124.276851e+1072537252.0-0.0028033237.18
2020-01-080.0040280.003996414216755254.125546e+1068716870.00.0009140.000903428702376884.269987e+1072547253.00.0049023253.05
.............................................
2020-12-240.0023300.002195493792029244.929405e+1071017101.0-0.000277-0.000458509486722835.091918e+1075157515.00.0035373703.06
2020-12-280.0038470.003836495698329814.937920e+1071037101.00.0013500.001304511208366915.093776e+1075167514.00.0087233735.36
2020-12-29-0.003652-0.003660493873563774.956717e+1071087101.0-0.008483-0.008656509781204685.111818e+1075227514.0-0.0022273727.04
2020-12-300.0032910.003124495422176084.938705e+1071077105.00.0101550.009754511668215445.097782e+1075217519.00.0013423732.04
2020-12-310.0035580.003499498395152984.954190e+1071117105.0-0.001058-0.001129514644165775.116650e+1075257519.00.0064393756.07
\n", + "

253 rows × 14 columns

\n", + "
" + ], + "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DlyCalDtvwretdvwretxvwTotValvwUsdValvwTotCntvwUsdCntewretdewretxewTotValewUsdValewTotCntewUsdCntsprtrnspindx
02020-01-020.0074120.007316414647541374.115634e+1068716866.00.0054700.005428429029964434.255570e+1072537248.00.0083793257.85
12020-01-03-0.005828-0.005900412210787494.146475e+1068716871.0-0.003057-0.003072426452646164.290300e+1072537253.0-0.0070603234.85
22020-01-060.0032690.003245413459862884.121183e+1068716869.00.0045480.004519427685141634.263602e+1072537251.00.0035333246.28
32020-01-07-0.002147-0.002216412554617534.134598e+1068706870.0-0.000041-0.000057426998662124.276851e+1072537252.0-0.0028033237.18
42020-01-080.0040280.003996414216755254.125546e+1068716870.00.0009140.000903428702376884.269987e+1072547253.00.0049023253.05
................................................
2482020-12-240.0023300.002195493792029244.929405e+1071017101.0-0.000277-0.000458509486722835.091918e+1075157515.00.0035373703.06
2492020-12-280.0038470.003836495698329814.937920e+1071037101.00.0013500.001304511208366915.093776e+1075167514.00.0087233735.36
2502020-12-29-0.003652-0.003660493873563774.956717e+1071087101.0-0.008483-0.008656509781204685.111818e+1075227514.0-0.0022273727.04
2512020-12-300.0032910.003124495422176084.938705e+1071077105.00.0101550.009754511668215445.097782e+1075217519.00.0013423732.04
2522020-12-310.0035580.003499498395152984.954190e+1071117105.0-0.001058-0.001129514644165775.116650e+1075257519.00.0064393756.07
\n", + "

253 rows × 15 columns

\n", + "
" + ], + "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 +}