8000 添加 量比 · wukan1986/alpha_examples@f89c7cd · GitHub
[go: up one dir, main page]

Skip to content

Commit f89c7cd

Browse files
committed
添加 量比
1 parent dc30fad commit f89c7cd

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

reports/涨停分时炸板.py

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,25 @@
22
from expr_codegen import codegen_exec
33

44
# 从日线中取涨跌停
5-
df_1d = (pl.read_parquet(r"M:\preprocessing\data1.parquet")
5+
df_1d = (pl.read_parquet(r"M:\preprocessing\data1.parquet").filter(pl.col("paused") == 0)
66
.rename({"time": "date", "code": "asset"})
7-
.select("date", "asset", "high_limit", "low_limit"))
7+
.select("date", "asset", "high_limit", "low_limit", "volume"))
8+
9+
10+
def _code_block_0():
11+
过去5日平均每分钟成交量 = ts_sum(volume, 5)[1] / (240 * 5)
12+
13+
14+
df_1d = codegen_exec(df_1d, _code_block_0, output_file="2_out.py")
815

916
# 加载分钟数据
10-
df_1m = (pl.read_parquet(r"D:\data\jqresearch\get_price_stock_minute\20241*.parquet")
17+
df_1m = (pl.read_parquet(r"D:\data\jqresearch\get_price_stock_minute\20241*.parquet").filter(pl.col("paused") == 0)
1118
.rename({"time": "datetime", "code": "asset"})
1219
.select("datetime", "asset", "open", "high", "close", "paused", "volume", "money")
1320
.with_columns(pl.col("datetime").cast(pl.Datetime('us'))))
14-
df_1m = df_1m.filter(pl.col("paused") == 0)
1521
df_1m = df_1m.with_columns(date=pl.col("datetime").dt.truncate('1d'))
16-
1722
df = df_1m.join(df_1d, on=["date", "asset"])
23+
1824
del df_1m
1925
del df_1d
2026

@@ -30,12 +36,13 @@ def _code_block_1():
3036
封板 = (~昨收涨停 & 开盘涨停) | (~开盘涨停 & 最高涨停)
3137
炸板 = (昨收涨停 & ~开盘涨停) | (最高涨停 & ~收盘涨停)
3238
# 个股分时图上的黄线
33-
平均价格 = ts_cum_sum(money)/ts_cum_sum(volume)
39+
平均价格 = ts_cum_sum(money) / ts_cum_sum(volume)
40+
量比 = ts_cum_sum(volume) / ts_cum_count(volume) / 过去5日平均每分钟成交量
3441

3542

3643
df = df.with_columns(_asset_date=pl.struct("asset", "date"))
3744
df = codegen_exec(df, _code_block_1, asset="_asset_date", output_file="1_out.py")
38-
print(df)
45+
print(df.tail().to_pandas())
3946

4047
df = df.group_by("asset", "date").agg(
4148
炸板次数=pl.col("炸板").sum(),

0 commit comments

Comments
 (0)
0