{
"cells": [
{
"cell_type": "code",
"execution_count": 49,
"id": "3d02a142-e369-45c2-bbf5-e77b162e59bc",
"metadata": {},
"outputs": [],
"source": [
"# df.shape\n",
"# df.glimpse\n",
"# df.unique()\n",
"# df[0:5,[\"证券代码\",\"证券名称\"]]\n",
"\n",
"\n",
"import polars as pl\n",
"from pathlib import Path\n",
"\n",
"'''\n",
" 湘财\n",
"'''\n",
"def read_xiangcai_csv(f:str|Path)->pl.DataFrame:\n",
" df=pl.read_csv(\n",
" f,\n",
" encoding=\"GB18030\",\n",
" separator=\"\\t\",\n",
" schema_overrides={\"证券代码\": pl.Utf8, \"证券名称\": pl.Utf8},\n",
" )\n",
" \n",
" df = df.with_columns(\n",
" pl.col(pl.String).str.strip_prefix(\"=\").str.strip_chars('\"')\n",
" ).with_columns(\n",
" pl.col(\"发生日期\").cast(pl.Utf8).str.strptime(pl.Date,format=\"%Y%m%d\"),\n",
" pl.col(\"成交时间\").str.to_time(),\n",
" pl.col(\n",
" \"成交数量\",\n",
" \"成交价格\",\n",
" \"成交金额\",\n",
" \"发生金额\",\n",
" \"手续费\",\n",
" \"印花税\",\n",
" \"过户费\",\n",
" \"其他费\",\n",
" ).cast(pl.Float64)\n",
" )\n",
" df = df.filter(\n",
" pl.col(\"业务名称\").is_in([\"证券买入\",\"证券卖出\"]),\n",
" )\n",
" return df\n",
" \n",
"\n",
"\"\"\"\n",
" 海通\n",
"\"\"\"\n",
"def read_haitong_excel(f:str|Path)->pl.DataFrame:\n",
" df=pl.read_excel(\n",
" f,\n",
" schema_overrides={\"成交日期\": pl.String, \"成交时间\": pl.String}, \n",
" )\n",
" df=df.filter(\n",
" (pl.col(\"成交时间\")!=\"\")\n",
" &(pl.col(\"操作\").is_in([\"买\",\"卖\"]))\n",
" &(~pl.col(\"证券代码\").str.starts_with(\"204\"))\n",
" &(~pl.col(\"证券代码\").str.starts_with(\"1318\"))\n",
" ).with_columns(\n",
" pl.col(\"成交日期\").str.strptime(pl.Date,format=\"%Y%m%d\"),\n",
" pl.col(\"成交时间\").str.to_time(),\n",
" pl.col(\n",
" \"成交数量\",\n",
" \"成交价格\",\n",
" \"成交金额\",\n",
" \"发生金额\",\n",
" \"手续费\",\n",
" \"印花税\",\n",
" \"过户费\",\n",
" \"其他费\",\n",
" ).cast(pl.Float64),\n",
" )\n",
" return df"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "96432246-03cb-4aa9-9d68-a4bf51291643",
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"\"\"\"\n",
" ===文档批处理===\n",
"\"\"\"\n",
"dfs=[read_xiangcai_csv(f) for f in Path(\"stock_trades/\").glob(\"*-湘财.xls\")]\n",
"d1=pl.concat(dfs)\n",
"d1=d1.with_columns(\n",
" 券商=pl.lit(\"湘财\"),\n",
")\n",
"\n",
"dfs2=[read_haitong_excel(f) for f in Path(\"stock_trades/\").glob(\"*-海通普通.xlsx\")]\n",
"d2=pl.concat(dfs2)\n",
"d2=d2.with_columns(\n",
" 券商=pl.lit(\"海通普通\")\n",
")\n",
"\n",
"dfs3=[read_haitong_excel(f) for f in Path(\"stock_trades/\").glob(\"*-海通两融.xlsx\")]\n",
"d3=pl.concat(dfs2)\n",
"d3=d2.with_columns(\n",
" 券商=pl.lit(\"海通两融\")\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "10956c81-f4c2-45ac-8af3-45a4fa775fde",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div><style>\n",
".dataframe > thead > tr,\n",
".dataframe > tbody > tr {\n",
" text-align: right;\n",
" white-space: pre-wrap;\n",
"}\n",
"</style>\n",
"<small>shape: (257, 17)</small><table border=\"1\" class=\"dataframe\"><thead><tr><th>发生日期</th><th>证券代码</th><th>证券名称</th><th>买卖标志</th><th>业务名称</th><th>成交时间</th><th>成交数量</th><th>成交价格</th><th>成交金额</th><th>发生金额</th><th>手续费</th><th>印花税</th><th>过户费</th><th>其他费</th><th>备注</th><th>币种</th><th>券商</th></tr><tr><td>date</td><td>str</td><td>str</td><td>str</td><td>str</td><td>time</td><td>f64</td><td>f64</td><td>f64</td><td>f64</td><td>f64</td><td>f64</td><td>f64</td><td>f64</td><td>str</td><td>str</td><td>str</td></tr></thead><tbody><tr><td>2022-07-18</td><td>"002462"</td><td>"嘉事堂"</td><td>"卖出"</td><td>"证券卖出"</td><td>09:38:10</td><td>-10400.0</td><td>13.2062</td><td>137344.0</td><td>137184.67</td><td>21.98</td><td>137.35</td><td>1.38</td><td>0.0</td><td>"证券卖出"</td><td>"人民币"</td><td>"湘财"</td></tr><tr><td>2022-07-18</td><td>"600408"</td><td>"安泰集团"</td><td>"买入"</td><td>"证券买入"</td><td>09:44:52</td><td>47000.0</td><td>3.19</td><td>149930.0</td><td>-149955.5</td><td>23.99</td><td>0.0</td><td>1.51</td><td>0.0</td><td>"证券买入"</td><td>"人民币"</td><td>"湘财"</td></tr><tr><td>2022-07-18</td><td>"600648"</td><td>"外高桥"</td><td>"买入"</td><td>"证券买入"</td><td>09:44:31</td><td>11900.0</td><td>12.6066</td><td>150019.0</td><td>-150044.49</td><td>24.0</td><td>0.0</td><td>1.49</td><td>0.0</td><td>"证券买入"</td><td>"人民币"</td><td>"湘财"</td></tr><tr><td>2022-07-18</td><td>"600269"</td><td>"赣粤高速"</td><td>"买入"</td><td>"证券买入"</td><td>09:43:38</td><td>40700.0</td><td>3.69</td><td>150183.0</td><td>-150208.53</td><td>24.03</td><td>0.0</td><td>1.5</td><td>0.0</td><td>"证券买入"</td><td>"人民币"</td><td>"湘财"</td></tr><tr><td>2022-07-18</td><td>"600015"</td><td>"华夏银行"</td><td>"买入"</td><td>"证券买入"</td><td>09:42:51</td><td>30000.0</td><td>5.07</td><td>152100.0</td><td>-152125.86</td><td>24.34</td><td>0.0</td><td>1.52</td><td>0.0</td><td>"证券买入"</td><td>"人民币"</td><td>"湘财"</td></tr><tr><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td></tr><tr><td>2023-06-19</td><td>"603967"</td><td>"中创物流"</td><td>"卖出"</td><td>"证券卖出"</td><td>10:18:46</td><td>-5000.0</td><td>9.13</td><td>45650.0</td><td>45596.59</td><td>7.3</td><td>45.65</td><td>0.46</td><td>0.0</td><td>"证券卖出"</td><td>"人民币"</td><td>"湘财"</td></tr><tr><td>2023-06-12</td><td>"300641"</td><td>"正丹股份"</td><td>"卖出"</td><td>"证券卖出"</td><td>13:22:32</td><td>-9600.0</td><td>5.05</td><td>48480.0</td><td>48423.76</td><td>7.76</td><td>48.48</td><td>0.48</td><td>0.0</td><td>"证券卖出"</td><td>"人民币"</td><td>"湘财"</td></tr><tr><td>2023-06-02</td><td>"000655"</td><td>"金岭矿业"</td><td>"卖出"</td><td>"证券卖出"</td><td>10:26:35</td><td>-7500.0</td><td>6.48</td><td>48600.0</td><td>48543.61</td><td>7.78</td><td>48.61</td><td>0.47</td><td>0.0</td><td>"证券卖出"</td><td>"人民币"</td><td>"湘财"</td></tr><tr><td>2023-06-01</td><td>"300214"</td><td>"日科化学"</td><td>"卖出"</td><td>"证券卖出"</td><td>10:45:35</td><td>-7400.0</td><td>6.8</td><td>50320.0</td><td>50261.63</td><td>8.05</td><td>50.32</td><td>0.51</td><td>0.0</td><td>"证券卖出"</td><td>"人民币"</td><td>"湘财"</td></tr><tr><td>2023-09-11</td><td>"603577"</td><td>"汇金通"</td><td>"卖出"</td><td>"证券卖出"</td><td>09:46:10</td><td>-5100.0</td><td>9.3024</td><td>47442.0</td><td>47410.89</td><td>6.9</td><td>23.72</td><td>0.49</td><td>0.0</td><td>"证券卖出"</td><td>"人民币"</td><td>"湘财"</td></tr></tbody></table></div>"
],
"text/plain": [
"shape: (257, 17)\n",
"┌────────────┬──────────┬──────────┬──────────┬───┬────────┬──────────┬────────┬──────┐\n",
"│ 发生日期 ┆ 证券代码 ┆ 证券名称 ┆ 买卖标志 ┆ … ┆ 其他费 ┆ 备注 ┆ 币种 ┆ 券商 │\n",
"│ --- ┆ --- ┆ --- ┆ --- ┆ ┆ --- ┆ --- ┆ --- ┆ --- │\n",
"│ date ┆ str ┆ str ┆ str ┆ ┆ f64 ┆ str ┆ str ┆ str │\n",
"╞════════════╪══════════╪══════════╪══════════╪═══╪════════╪══════════╪════════╪══════╡\n",
"│ 2022-07-18 ┆ 002462 ┆ 嘉事堂 ┆ 卖出 ┆ … ┆ 0.0 ┆ 证券卖出 ┆ 人民币 ┆ 湘财 │\n",
"│ 2022-07-18 ┆ 600408 ┆ 安泰集团 ┆ 买入 ┆ … ┆ 0.0 ┆ 证券买入 ┆ 人民币 ┆ 湘财 │\n",
"│ 2022-07-18 ┆ 600648 ┆ 外高桥 ┆ 买入 ┆ … ┆ 0.0 ┆ 证券买入 ┆ 人民币 ┆ 湘财 │\n",
"│ 2022-07-18 ┆ 600269 ┆ 赣粤高速 ┆ 买入 ┆ … ┆ 0.0 ┆ 证券买入 ┆ 人民币 ┆ 湘财 │\n",
"│ 2022-07-18 ┆ 600015 ┆ 华夏银行 ┆ 买入 ┆ … ┆ 0.0 ┆ 证券买入 ┆ 人民币 ┆ 湘财 │\n",
"│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n",
"│ 2023-06-19 ┆ 603967 ┆ 中创物流 ┆ 卖出 ┆ … ┆ 0.0 ┆ 证券卖出 ┆ 人民币 ┆ 湘财 │\n",
"│ 2023-06-12 ┆ 300641 ┆ 正丹股份 ┆ 卖出 ┆ … ┆ 0.0 ┆ 证券卖出 ┆ 人民币 ┆ 湘财 │\n",
"│ 2023-06-02 ┆ 000655 ┆ 金岭矿业 ┆ 卖出 ┆ … ┆ 0.0 ┆ 证券卖出 ┆ 人民币 ┆ 湘财 │\n",
"│ 2023-06-01 ┆ 300214 ┆ 日科化学 ┆ 卖出 ┆ … ┆ 0.0 ┆ 证券卖出 ┆ 人民币 ┆ 湘财 │\n",
"│ 2023-09-11 ┆ 603577 ┆ 汇金通 ┆ 卖出 ┆ … ┆ 0.0 ┆ 证券卖出 ┆ 人民币 ┆ 湘财 │\n",
"└────────────┴──────────┴──────────┴──────────┴───┴────────┴──────────┴────────┴──────┘"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"d1"
]
},
{
"cell_type": "code",
"execution_count": 52,
"id": "19233de8-2cae-485a-8cf3-00d6625acfb6",
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"'''\n",
" ===选出一致列===\n",
"'''\n",
"d1=d1.select(\n",
" 券商=pl.col(\"券商\"),\n",
" 交易日期=pl.col(\"发生日期\"),\n",
" 交易时间=pl.col(\"成交时间\"),\n",
" 证券代码=pl.col(\"证券代码\"),\n",
" 证券名称=pl.col(\"证券名称\"),\n",
" 买卖标志=pl.col(\"买卖标志\"),\n",
" 成交价格=pl.col(\"成交价格\"),\n",
" 成交数量=pl.col(\"成交数量\").abs(),\n",
" 成交金额=pl.col(\"成交金额\"),\n",
" 手续费=pl.col(\"手续费\"),\n",
" 印花税=pl.col(\"印花税\"),\n",
" 过户费=pl.col(\"过户费\"),\n",
" 其他费=pl.col(\"其他费\"),\n",
" 发生金额=pl.col(\"发生金额\"),\n",
")\n",
"\n",
"d2=d2.select(\n",
" 券商=pl.col(\"券商\"),\n",
" 交易日期=pl.col(\"成交日期\"),\n",
" 交易时间=pl.col(\"成交时间\"),\n",
" 证券代码=pl.col(\"证券代码\"),\n",
" 证券名称=pl.col(\"证券名称\"),\n",
" 买卖标志=pl.col(\"操作\"),\n",
" 成交价格=pl.col(\"成交价格\"),\n",
" 成交数量=pl.col(\"成交数量\").abs(),\n",
" 成交金额=pl.col(\"成交金额\"),\n",
" 手续费=pl.col(\"手续费\"),\n",
" 印花税=pl.col(\"印花税\"),\n",
" 过户费=pl.col(\"过户费\"),\n",
" 其他费=pl.col(\"其他费\"),\n",
" 发生金额=pl.col(\"发生金额\"),\n",
")\n",
"\n",
"d3=d3.select(\n",
" 券商=pl.col(\"券商\"),\n",
" 交易日期=pl.col(\"成交日期\"),\n",
" 交易时间=pl.col(\"成交时间\"),\n",
" 证券代码=pl.col(\"证券代码\"),\n",
" 证券名称=pl.col(\"证券名称\"),\n",
" 买卖标志=pl.col(\"操作\"),\n",
" 成交价格=pl.col(\"成交价格\"),\n",
" 成交数量=pl.col(\"成交数量\").abs(),\n",
" 成交金额=pl.col(\"成交金额\"),\n",
" 手续费=pl.col(\"手续费\"),\n",
" 印花税=pl.col(\"印花税\"),\n",
" 过户费=pl.col(\"过户费\"),\n",
" 其他费=pl.col(\"其他费\"),\n",
" 发生金额=pl.col(\"发生金额\"),\n",
")\n",
"df_total=pl.concat([d1,d2,d3])"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "bfb21f39-20d1-426a-b565-3108819ab14d",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div><style>\n",
".dataframe > thead > tr,\n",
".dataframe > tbody > tr {\n",
" text-align: right;\n",
" white-space: pre-wrap;\n",
"}\n",
"</style>\n",
"<small>shape: (363, 17)</small><table border=\"1\" class=\"dataframe\"><thead><tr><th>券商</th><th>交易日期</th><th>交易时间</th><th>证券代码</th><th>证券名称</th><th>买卖标志</th><th>成交价格</th><th>成交数量</th><th>成交金额</th><th>手续费</th><th>印花税</th><th>过户费</th><th>其他费</th><th>发生金额</th><th>成交金额2</th><th>成交金额d</th><th>发生金额d</th></tr><tr><td>str</td><td>date</td><td>time</td><td>str</td><td>str</td><td>str</td><td>f64</td><td>f64</td><td>f64</td><td>f64</td><td>f64</td><td>f64</td><td>f64</td><td>f64</td><td>f64</td><td>f64</td><td>f64</td></tr></thead><tbody><tr><td>"湘财"</td><td>2022-07-18</td><td>09:44:52</td><td>"600408"</td><td>"安泰集团"</td><td>"买入"</td><td>3.19</td><td>47000.0</td><td>149930.0</td><td>23.99</td><td>0.0</td><td>1.51</td><td>0.0</td><td>-149955.5</td><td>149930.0</td><td>0.0</td><td>0.0</td></tr><tr><td>"湘财"</td><td>2022-07-18</td><td>09:44:31</td><td>"600648"</td><td>"外高桥"</td><td>"买入"</td><td>12.6066</td><td>11900.0</td><td>150019.0</td><td>24.0</td><td>0.0</td><td>1.49</td><td>0.0</td><td>-150044.49</td><td>150018.54</td><td>0.46</td><td>0.0</td></tr><tr><td>"湘财"</td><td>2022-07-18</td><td>09:43:38</td><td>"600269"</td><td>"赣粤高速"</td><td>"买入"</td><td>3.69</td><td>40700.0</td><td>150183.0</td><td>24.03</td><td>0.0</td><td>1.5</td><td>0.0</td><td>-150208.53</td><td>150183.0</td><td>0.0</td><td>0.0</td></tr><tr><td>"湘财"</td><td>2022-07-18</td><td>09:42:51</td><td>"600015"</td><td>"华夏银行"</td><td>"买入"</td><td>5.07</td><td>30000.0</td><td>152100.0</td><td>24.34</td><td>0.0</td><td>1.52</td><td>0.0</td><td>-152125.86</td><td>152100.0</td><td>0.0</td><td>0.0</td></tr><tr><td>"湘财"</td><td>2022-07-18</td><td>09:39:28</td><td>"601992"</td><td>"金隅集团"</td><td>"卖出"</td><td>2.5683</td><td>54000.0</td><td>138686.0</td><td>22.19</td><td>138.69</td><td>1.38</td><td>0.0</td><td>138523.74</td><td>138688.2</td><td>-2.2</td><td>0.0</td></tr><tr><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td><td>…</td></tr><tr><td>"湘财"</td><td>2022-10-24</td><td>09:37:27</td><td>"300283"</td><td>"温州宏丰"</td><td>"买入"</td><td>5.4038</td><td>12900.0</td><td>69709.0</td><td>11.15</td><td>0.0</td><td>0.83</td><td>0.0</td><td>-69720.15</td><td>69709.02</td><td>-0.02</td><td>0.83</td></tr><tr><td>"湘财"</td><td>2022-10-11</td><td>09:32:03</td><td>"000900"</td><td>"现代投资"</td><td>"卖出"</td><td>3.8465</td><td>34400.0</td><td>132321.0</td><td>21.17</td><td>132.35</td><td>1.31</td><td>0.0</td><td>132167.48</td><td>132319.6</td><td>1.4</td><td>1.31</td></tr><tr><td>"湘财"</td><td>2022-07-18</td><td>09:38:10</td><td>"002462"</td><td>"嘉事堂"</td><td>"卖出"</td><td>13.2062</td><td>10400.0</td><td>137344.0</td><td>21.98</td><td>137.35</td><td>1.38</td><td>0.0</td><td>137184.67</td><td>137344.48</td><td>-0.48</td><td>1.38</td></tr><tr><td>"湘财"</td><td>2022-07-11</td><td>09:33:37</td><td>"000900"</td><td>"现代投资"</td><td>"买入"</td><td>4.05</td><td>34400.0</td><td>139320.0</td><td>22.29</td><td>0.0</td><td>1.39</td><td>0.0</td><td>-139342.29</td><td>139320.0</td><td>0.0</td><td>1.39</td></tr><tr><td>"湘财"</td><td>2022-07-11</td><td>09:38:16</td><td>"002462"</td><td>"嘉事堂"</td><td>"买入"</td><td>13.51</td><td>10400.0</td><td>140504.0</td><td>22.48</td><td>0.0</td><td>1.41</td><td>0.0</td><td>-140526.48</td><td>140504.0</td><td>0.0</td><td>1.41</td></tr></tbody></table></div>"
],
"text/plain": [
"shape: (363, 17)\n",
"┌──────┬────────────┬──────────┬──────────┬───┬────────────┬───────────┬───────────┬───────────┐\n",
"│ 券商 ┆ 交易日期 ┆ 交易时间 ┆ 证券代码 ┆ … ┆ 发生金额 ┆ 成交金额2 ┆ 成交金额d ┆ 发生金额d │\n",
"│ --- ┆ --- ┆ --- ┆ --- ┆ ┆ --- ┆ --- ┆ --- ┆ --- │\n",
"│ str ┆ date ┆ time ┆ str ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 │\n",
"╞══════╪════════════╪══════════╪══════════╪═══╪════════════╪═══════════╪═══════════╪═══════════╡\n",
"│ 湘财 ┆ 2022-07-18 ┆ 09:44:52 ┆ 600408 ┆ … ┆ -149955.5 ┆ 149930.0 ┆ 0.0 ┆ 0.0 │\n",
"│ 湘财 ┆ 2022-07-18 ┆ 09:44:31 ┆ 600648 ┆ … ┆ -150044.49 ┆ 150018.54 ┆ 0.46 ┆ 0.0 │\n",
"│ 湘财 ┆ 2022-07-18 ┆ 09:43:38 ┆ 600269 ┆ … ┆ -150208.53 ┆ 150183.0 ┆ 0.0 ┆ 0.0 │\n",
"│ 湘财 ┆ 2022-07-18 ┆ 09:42:51 ┆ 600015 ┆ … ┆ -152125.86 ┆ 152100.0 ┆ 0.0 ┆ 0.0 │\n",
"│ 湘财 ┆ 2022-07-18 ┆ 09:39:28 ┆ 601992 ┆ … ┆ 138523.74 ┆ 138688.2 ┆ -2.2 ┆ 0.0 │\n",
"│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n",
"│ 湘财 ┆ 2022-10-24 ┆ 09:37:27 ┆ 300283 ┆ … ┆ -69720.15 ┆ 69709.02 ┆ -0.02 ┆ 0.83 │\n",
"│ 湘财 ┆ 2022-10-11 ┆ 09:32:03 ┆ 000900 ┆ … ┆ 132167.48 ┆ 132319.6 ┆ 1.4 ┆ 1.31 │\n",
"│ 湘财 ┆ 2022-07-18 ┆ 09:38:10 ┆ 002462 ┆ … ┆ 137184.67 ┆ 137344.48 ┆ -0.48 ┆ 1.38 │\n",
"│ 湘财 ┆ 2022-07-11 ┆ 09:33:37 ┆ 000900 ┆ … ┆ -139342.29 ┆ 139320.0 ┆ 0.0 ┆ 1.39 │\n",
"│ 湘财 ┆ 2022-07-11 ┆ 09:38:16 ┆ 002462 ┆ … ┆ -140526.48 ┆ 140504.0 ┆ 0.0 ┆ 1.41 │\n",
"└──────┴────────────┴──────────┴──────────┴───┴────────────┴───────────┴───────────┴───────────┘"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\"\n",
" ===验算===\n",
"\"\"\"\n",
"df_total=df_total.with_columns(\n",
" 成交金额2=pl.col(\"成交价格\")*pl.col(\"成交数量\"),\n",
").with_columns(\n",
" 成交金额d=pl.col(\"成交金额\")-pl.col(\"成交金额2\").round(4),\n",
")\n",
"\n",
"df_total = df_total.with_columns(\n",
" pl.col(\"买卖标志\").replace({\"买\": \"买入\", \"卖\": \"卖出\"}),\n",
").with_columns(\n",
" 发生金额d=pl.col(\"发生金额\")-(\n",
" pl.when(pl.col(\"买卖标志\")==\"买入\")\n",
" .then(-pl.col(\"成交金额\"))\n",
" .when(pl.col(\"买卖标志\")==\"卖出\")\n",
" .then(pl.col(\"成交金额\")).otherwise(None)\n",
" -pl.col(\"手续费\")\n",
" -pl.col(\"印花税\")\n",
" -pl.col(\"过户费\")\n",
" -pl.col(\"其他费\")\n",
" ).round(4),\n",
")\n",
"\n",
"df_total.sort(\"发生金额d\")"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "a4b9e989-8ab4-4f63-a5fe-2aff987807b9",
"metadata": {},
"outputs": [],
"source": [
"\"\"\"\n",
" ===保存文档\n",
"\"\"\"\n",
"df_total.write_parquet(\"stock_trades.parquet\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ba8a7588-a47a-4abe-bdd8-b9183e289ee8",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.12.13"
}
},
"nbformat": 4,
"nbformat_minor": 5
}