跳转至

集合与指标

DAAS 把你有什么数据(原始获取序列)、你计算什么(指标)、你怎么分组(集合)分开。全部记录在 daas.db

数据流

数据源 -> Python 库 -> scraw_<slug>  (原始获取行)
                          |
                          v
            indicator_rules -> observations  (计算序列)
                                    |
                                    v
                        集合 (实体 / 指标分组)

原始数据:scraw_<slug>

每次获取把行持久化到自动创建的 scraw_<slug> 表(scripts/upsert.py -- 自动 CREATE + ALTER + INSERT OR REPLACE,写入前备份 daas.db)。库中示例:scraw_spy_dailyscraw_aapl_dailyscraw_massive_treasury_yields

sqlite3 daas.db "SELECT name FROM sqlite_master WHERE name LIKE 'scraw_%' LIMIT 10;"

指标规则:indicator_rules

一条指标规则把源表 + 列 + 数学算子 + 参数绑定到一个指标名。列:namedatasourcesource_tabledate_columnvalue_columnopparams_jsonindicator_nameenabledscore

sqlite3 daas.db "SELECT name, op, source_table, indicator_name FROM indicator_rules WHERE name LIKE 'SPY_%' LIMIT 5;"

daas_create_indicator(...)fd-daas-indicators-creator 技能创建。用 daas_run_indicator(name=...)scripts/run_indicator.py <name> 计算到 observations

计算序列:observations

键为 (source, function_name, indicator, date)valueVARCHAR(64)。这是每个看板和集合读取的表。

sqlite3 daas.db "SELECT indicator, date, value FROM observations WHERE indicator='SPY_ma5' ORDER BY date DESC LIMIT 5;"

实体集合

实体的命名分组(观察列表 / 组合),带审计成员变动。表:entity_collectionsentity_collection_itemsentity_collection_changes

sqlite3 daas.db "SELECT name FROM entity_collections;"
sqlite3 daas.db "SELECT entity_id, action, source FROM entity_collection_changes LIMIT 5;"
  • 手工:daas_add_entity_to_collection / daas_remove_entity_from_collection(记录 add_in / remove_out 事件,source='manual')。
  • 基于规则:附加一个 rule_id(json/script/position/llm),用 daas_sync_entity_collection 重新派生(source='cron')。

指标集合

指标的可命名、可复用集合。表:indicator_collectionsindicator_collection_itemsindicator_collection_changes。审计模式同实体集合。

sqlite3 daas.db "SELECT name FROM indicator_collections;"

daas_add_indicator_to_collection 添加;基于规则的用 daas_sync_indicator_collection 同步。

分数

集合项带一个有效分数(优先级/质量权重),继承自指标/数据源默认值,可按集合覆盖(daas_set_indicator_collection_item_score)。当多个源/指标覆盖同一物时,分数用于排序。

规则:rules

统一规则存储(rule_typejson/script/position/llmtargetentity_ids/indicator_names/rows)。由 RuleEngine 求值,通过 rule_id 附加到集合。llm 规则类型(target='rows')驱动从文本结构化抽取到 process_results

下一步