教程:Tushare 市场分析本体(DIY 案例)¶
先修: 认识本体(看板实验)。
本页是市场领域实验。默认你已走过(或理解)迷你看板路径——数据集 vs 对象类型、FoO、Index 取舍。
在你的部署里用 Tushare 搭建 Stock + FoO Function——租户内容,非平台种子。
| 读者 | 已读完本体入门(或同等基础) |
| 时间 | 凭证就绪后约 45–60 分钟实验 |
| 产出 | 可用的 Stock 类型 + 已发布 FoO(stockProfile、序列契约) |
相关: 连接器 · Tushare · Ontology Functions · openkms-skill
英文源(完整 CLI):Tushare market-analysis ontology。
设计目标 / 后续要求(TSP 等)尚未交付;现阶段用 FoO 序列 Function。实现前不改 features 文档。
1. 为什么用市场数据做案例?¶
- 主数据(股票)少而稳 → 适合 OT + Neo4j index。
- 事实(日线、估值)量大 → 留在数据集,用 FoO 查,而不是百万图节点。
- 需要可治理的「画像 / 序列 / 筛选」,而不是每人一份 SQL。
与入门教程的反模式、Palantir「对象 vs 时序」划分一致。openKMS 过渡方案:FoO 返回 points[]。
2. 市场向设计取舍¶
| 关切 | 对齐 Palantir 的意图 | 你现在怎么做 |
|---|---|---|
| 身份 | Stock OT + 对象索引 | 绑 stock_basic,Index Neo4j |
| 价格随时间 | TSP + 时序 sync/库 | FoO (ts_code, start, end) → points[] |
| 日线当平级对象 | 避免 | 事实表仅数据集 |
| 逻辑形态 | FoO | stockProfile、getAdjCloseSeries… |
两个 sync: 连接器 sync 灌 Postgres;Palantir time series sync 进时序库——不是一回事。见入门 §4.9。
3. 同步后数据集角色¶
| 表 | 粒度 | 本案例角色 |
|---|---|---|
stock_basic |
每代码一行 | Stock 背后数据集 |
trade_calendar |
交易所+日 | 日历 / 可选 TradeDay |
stock_trade_daily 等日频 |
代码+交易日 | 事实 → 序列 FoO |
dividends |
代码+除权日 | 事件事实 |
检查点: 同步完成 = 数据集有行;Stock 要等你创建对象类型(数据集 ≠ 对象类型)。
4. 实验步骤摘要¶
前置: 读完认识本体;ofs 可用;Tushare token。
- 连接器 —
tushare+ token + 六槽位 Provision + Run sync;到 Datasets 看stock_basic的 Data/Columns/Usage。 - Stock — 主数据,绑
stock_basic,主键ts_code,只 Index Stock。 stockProfile— 入参ts_code,Client("Stock"),禁止 Function 内调 Tushare;Publish。getAdjCloseSeries—(ts_code, start, end) → points[];复权约定写死一种;读日频优先等平台 R2。
完整命令与代码见英文教程 §5–8。
自选/筛选工作台可手动建 OT;Action 写回仍延后。
5. 市场向反模式与后续要求¶
| 避免 | 更好 |
|---|---|
| 日线全进 Neo4j | 数据集 + FoO |
| Function 打 Tushare | 连接器 sync |
| 同步完不看 Datasets | 先确认 Data/Columns 再建 Stock |
R1–R8(FoO 模板、dataset 行 API、TSP、时序 sync、Explorer 预览、Action 写回等)见英文教程「Future platform requirements」一节。通用建模习惯见看板实验教程。
6. 相关链接¶
| 文档 | 角色 |
|---|---|
| 认识本体(看板实验) | 先做迷你看板 |
| 英文完整实验 | CLI / 代码 |
| openkms-skill | Workflow G |