a500 绘图成功
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
"""策略1中证 A500 收盘价图测试。"""
|
||||
|
||||
from datetime import date
|
||||
|
||||
from sidecar.models import KlineBar
|
||||
from strategy.a500_close_chart import A500_START_DATE, ClosePoint, build_svg_line_chart, filter_close_points
|
||||
|
||||
|
||||
def test_4_1_filter_a500_close_points() -> None:
|
||||
"""
|
||||
功能说明:验证策略1会过滤成立日之前和空收盘价数据。
|
||||
参数说明:无。
|
||||
返回值说明:无返回值。
|
||||
注意事项:用例编号 4-1。
|
||||
"""
|
||||
bars = [
|
||||
KlineBar("sh000510", "day", date(2024, 9, 20), 1, 1, 1, 1, 1, 1, "fake"),
|
||||
KlineBar("sh000510", "day", A500_START_DATE, 1, 1, 1, None, 1, 1, "fake"),
|
||||
KlineBar("sh000510", "day", date(2024, 9, 24), 1, 1, 1, 1000.5, 1, 1, "fake"),
|
||||
]
|
||||
|
||||
points = filter_close_points(bars, A500_START_DATE)
|
||||
|
||||
assert points == [ClosePoint(date(2024, 9, 24), 1000.5)]
|
||||
|
||||
|
||||
def test_4_2_build_svg_line_chart() -> None:
|
||||
"""
|
||||
功能说明:验证策略1可生成 SVG 折线图文本。
|
||||
参数说明:无。
|
||||
返回值说明:无返回值。
|
||||
注意事项:用例编号 4-2。
|
||||
"""
|
||||
points = [
|
||||
ClosePoint(date(2024, 9, 23), 1000.0),
|
||||
ClosePoint(date(2024, 9, 24), 1010.0),
|
||||
ClosePoint(date(2024, 9, 25), 990.0),
|
||||
]
|
||||
|
||||
svg = build_svg_line_chart(points, "中证 A500 指数成立以来收盘价")
|
||||
|
||||
assert svg.startswith("<svg")
|
||||
assert "中证 A500 指数成立以来收盘价" in svg
|
||||
assert "2024-09-23" in svg
|
||||
assert "<polyline" in svg
|
||||
+19
-2
@@ -1,6 +1,6 @@
|
||||
"""腾讯财经适配器测试。"""
|
||||
|
||||
from sidecar.sources.tencent import parse_tencent_payload, snapshot_from_tencent_fields
|
||||
from sidecar.sources.tencent import kline_from_tencent_payload, parse_tencent_payload, snapshot_from_tencent_fields
|
||||
|
||||
|
||||
def test_1_1_tencent_snapshot_uses_correct_pb_index() -> None:
|
||||
@@ -47,4 +47,21 @@ def test_1_2_parse_tencent_payload() -> None:
|
||||
parsed = parse_tencent_payload(payload)
|
||||
|
||||
assert len(parsed) == 88
|
||||
assert parsed[0] == "v"
|
||||
assert parsed[0] == "v"
|
||||
|
||||
|
||||
def test_1_3_parse_tencent_kline_payload() -> None:
|
||||
"""
|
||||
功能说明:验证腾讯财经 K 线 JSON 可转换为统一 K 线。
|
||||
参数说明:无。
|
||||
返回值说明:无返回值。
|
||||
注意事项:用例编号 1-3,字段顺序为日期、开盘、收盘、最高、最低、成交量。
|
||||
"""
|
||||
payload = '{"code":0,"msg":"","data":{"sh000510":{"day":[["2024-09-23","3392.95","3368.53","3392.95","3368.53","1"]]}}}'
|
||||
|
||||
bars = kline_from_tencent_payload("sh000510", "day", payload)
|
||||
|
||||
assert len(bars) == 1
|
||||
assert bars[0].symbol == "sh000510"
|
||||
assert bars[0].close == 3368.53
|
||||
assert bars[0].source == "tencent"
|
||||
Reference in New Issue
Block a user