vizflow 0.5.6__py3-none-any.whl → 0.5.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
vizflow/io.py
CHANGED
|
@@ -167,6 +167,8 @@ def scan_trade(date: str, config: Config | None = None) -> pl.LazyFrame:
|
|
|
167
167
|
if schema:
|
|
168
168
|
df = _apply_schema_evolution(df, schema)
|
|
169
169
|
|
|
170
|
+
df = df.with_columns(pl.lit(date).str.to_date("%Y%m%d").cast(pl.Date).alias("data_date"))
|
|
171
|
+
|
|
170
172
|
return df
|
|
171
173
|
|
|
172
174
|
|
|
@@ -213,7 +215,7 @@ def scan_trades(config: Config | None = None) -> pl.LazyFrame:
|
|
|
213
215
|
df = _apply_schema_evolution(df, schema)
|
|
214
216
|
date = _extract_date_from_path(f, config.trade_pattern)
|
|
215
217
|
if date:
|
|
216
|
-
df = df.with_columns(pl.lit(date).str.to_date("%Y%m%d").alias("data_date"))
|
|
218
|
+
df = df.with_columns(pl.lit(date).str.to_date("%Y%m%d").cast(pl.Date).alias("data_date"))
|
|
217
219
|
dfs.append(df)
|
|
218
220
|
|
|
219
221
|
return pl.concat(dfs)
|
|
@@ -246,6 +248,8 @@ def scan_alpha(date: str, config: Config | None = None) -> pl.LazyFrame:
|
|
|
246
248
|
if schema:
|
|
247
249
|
df = _apply_schema_evolution(df, schema)
|
|
248
250
|
|
|
251
|
+
df = df.with_columns(pl.lit(date).str.to_date("%Y%m%d").cast(pl.Date).alias("data_date"))
|
|
252
|
+
|
|
249
253
|
return df
|
|
250
254
|
|
|
251
255
|
|
|
@@ -281,7 +285,7 @@ def scan_alphas(config: Config | None = None) -> pl.LazyFrame:
|
|
|
281
285
|
df = _apply_schema_evolution(df, schema)
|
|
282
286
|
# Convert data_date to Date type (may be Int64 from feather or String from CSV)
|
|
283
287
|
df = df.with_columns(
|
|
284
|
-
pl.col("data_date").cast(pl.String).str.to_date("%Y%m%d")
|
|
288
|
+
pl.col("data_date").cast(pl.String).str.to_date("%Y%m%d").cast(pl.Date)
|
|
285
289
|
)
|
|
286
290
|
dfs.append(df)
|
|
287
291
|
|
|
@@ -314,6 +318,8 @@ def scan_univ(date: str, config: Config | None = None) -> pl.LazyFrame:
|
|
|
314
318
|
if schema:
|
|
315
319
|
df = _apply_schema_evolution(df, schema)
|
|
316
320
|
|
|
321
|
+
df = df.with_columns(pl.lit(date).str.to_date("%Y%m%d").cast(pl.Date).alias("data_date"))
|
|
322
|
+
|
|
317
323
|
return df
|
|
318
324
|
|
|
319
325
|
|
|
@@ -351,7 +357,7 @@ def scan_univs(config: Config | None = None) -> pl.LazyFrame:
|
|
|
351
357
|
df = _apply_schema_evolution(df, schema)
|
|
352
358
|
date = _extract_date_from_path(f, config.univ_pattern)
|
|
353
359
|
if date:
|
|
354
|
-
df = df.with_columns(pl.lit(date).str.to_date("%Y%m%d").alias("data_date"))
|
|
360
|
+
df = df.with_columns(pl.lit(date).str.to_date("%Y%m%d").cast(pl.Date).alias("data_date"))
|
|
355
361
|
dfs.append(df)
|
|
356
362
|
|
|
357
363
|
return pl.concat(dfs)
|
vizflow/schema_evolution.py
CHANGED
|
@@ -353,7 +353,7 @@ JYAO_V20251114 = SchemaEvolution(
|
|
|
353
353
|
# Time columns
|
|
354
354
|
"TimeStamp": ColumnSpec(rename_to="timestamp", parse_dtype=pl.Int64),
|
|
355
355
|
"GlobalExTime": ColumnSpec(rename_to="global_exchange_ts", parse_dtype=pl.Int64),
|
|
356
|
-
"DataDate": ColumnSpec(rename_to="data_date", parse_dtype=pl.String),
|
|
356
|
+
"DataDate": ColumnSpec(rename_to="data_date", parse_dtype=pl.String, cast_dtype=pl.Date),
|
|
357
357
|
# Volume
|
|
358
358
|
"Volume": ColumnSpec(
|
|
359
359
|
rename_to="volume",
|
|
@@ -371,6 +371,52 @@ JYAO_V20251114 = SchemaEvolution(
|
|
|
371
371
|
)
|
|
372
372
|
|
|
373
373
|
|
|
374
|
+
# =============================================================================
|
|
375
|
+
# JYAO Univ Format (v2025-12-30)
|
|
376
|
+
# =============================================================================
|
|
377
|
+
|
|
378
|
+
JYAO_UNIV_V20251230 = SchemaEvolution(
|
|
379
|
+
columns={
|
|
380
|
+
# ID
|
|
381
|
+
"ukey": ColumnSpec(parse_dtype=pl.Int64),
|
|
382
|
+
# Price columns (Float64)
|
|
383
|
+
"ydclose": ColumnSpec(parse_dtype=pl.Float64),
|
|
384
|
+
"preclose": ColumnSpec(parse_dtype=pl.Float64),
|
|
385
|
+
"open": ColumnSpec(parse_dtype=pl.Float64),
|
|
386
|
+
"close": ColumnSpec(parse_dtype=pl.Float64),
|
|
387
|
+
"upper_limit_price": ColumnSpec(parse_dtype=pl.Float64),
|
|
388
|
+
"lower_limit_price": ColumnSpec(parse_dtype=pl.Float64),
|
|
389
|
+
"tick_size": ColumnSpec(parse_dtype=pl.Float64),
|
|
390
|
+
# Lot size columns (parse Float64 → cast Int64)
|
|
391
|
+
"trade_min_size": ColumnSpec(parse_dtype=pl.Float64, cast_dtype=pl.Int64),
|
|
392
|
+
"trade_unit_size": ColumnSpec(parse_dtype=pl.Float64, cast_dtype=pl.Int64),
|
|
393
|
+
"qty_unit": ColumnSpec(parse_dtype=pl.Float64, cast_dtype=pl.Int64),
|
|
394
|
+
# Average/aggregated columns (Float64)
|
|
395
|
+
"trade_max_size": ColumnSpec(parse_dtype=pl.Float64),
|
|
396
|
+
"adv": ColumnSpec(parse_dtype=pl.Float64),
|
|
397
|
+
"roll_spread": ColumnSpec(parse_dtype=pl.Float64),
|
|
398
|
+
"buy_avg_volume": ColumnSpec(parse_dtype=pl.Float64),
|
|
399
|
+
"sell_avg_volume": ColumnSpec(parse_dtype=pl.Float64),
|
|
400
|
+
"avg_touch_size_mean": ColumnSpec(parse_dtype=pl.Float64),
|
|
401
|
+
"avg_touch_order_size": ColumnSpec(parse_dtype=pl.Float64),
|
|
402
|
+
# Risk columns (Float64)
|
|
403
|
+
"TotalRisk": ColumnSpec(parse_dtype=pl.Float64),
|
|
404
|
+
"SpecRisk": ColumnSpec(parse_dtype=pl.Float64),
|
|
405
|
+
# Boolean columns (TRUE/FALSE strings)
|
|
406
|
+
"is_price_limited": ColumnSpec(parse_dtype=pl.Boolean),
|
|
407
|
+
"is_t0": ColumnSpec(parse_dtype=pl.Boolean),
|
|
408
|
+
# Integer columns
|
|
409
|
+
"category": ColumnSpec(parse_dtype=pl.Float64, cast_dtype=pl.Int64),
|
|
410
|
+
"is_ST": ColumnSpec(parse_dtype=pl.Float64, cast_dtype=pl.Int64), # 0/1 numeric
|
|
411
|
+
# String columns
|
|
412
|
+
"UNIVERSE": ColumnSpec(parse_dtype=pl.String),
|
|
413
|
+
"INDUSTRY": ColumnSpec(parse_dtype=pl.String),
|
|
414
|
+
"INDEX": ColumnSpec(parse_dtype=pl.String),
|
|
415
|
+
},
|
|
416
|
+
null_values=["", "NA"],
|
|
417
|
+
)
|
|
418
|
+
|
|
419
|
+
|
|
374
420
|
# =============================================================================
|
|
375
421
|
# Schema Registry
|
|
376
422
|
# =============================================================================
|
|
@@ -378,6 +424,7 @@ JYAO_V20251114 = SchemaEvolution(
|
|
|
378
424
|
SCHEMAS: dict[str, SchemaEvolution] = {
|
|
379
425
|
"ylin_v20251204": YLIN_V20251204,
|
|
380
426
|
"jyao_v20251114": JYAO_V20251114,
|
|
427
|
+
"jyao_univ_v20251230": JYAO_UNIV_V20251230,
|
|
381
428
|
}
|
|
382
429
|
|
|
383
430
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
vizflow/__init__.py,sha256=_jP6bp5U2iBFkPGTSLNwvOQay9XU_opNdrylF22iR9s,589
|
|
2
2
|
vizflow/config.py,sha256=nPZPXlqQbaY8u_FAdtPShvb0mdx3e2TRaQ2CILzliAU,7192
|
|
3
|
-
vizflow/io.py,sha256=
|
|
3
|
+
vizflow/io.py,sha256=1T7t-L1ijrfEkE-gr4f45yiupJKA4-DxbJhsyN_tLnI,11939
|
|
4
4
|
vizflow/market.py,sha256=MtNz_nnZxC66Aq-i2PXEwaFCTknijFWYZUUv6798k2s,2493
|
|
5
5
|
vizflow/ops.py,sha256=oR44HYKrfaXLh0SmbfXefl714UESSIC5lTNJBrR1kto,10858
|
|
6
6
|
vizflow/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
vizflow/schema_evolution.py,sha256=
|
|
8
|
-
vizflow-0.5.
|
|
9
|
-
vizflow-0.5.
|
|
10
|
-
vizflow-0.5.
|
|
7
|
+
vizflow/schema_evolution.py,sha256=3_qFIQJAgXUK0vQzanb355YVjytmfOACkelZlykIO8w,16349
|
|
8
|
+
vizflow-0.5.7.dist-info/METADATA,sha256=nkd-hejnIVFMaJzYnQP6EIHRkrJfBDsohONlj4zFVu4,388
|
|
9
|
+
vizflow-0.5.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
10
|
+
vizflow-0.5.7.dist-info/RECORD,,
|
|
File without changes
|