自动排队生成量化因子挖掘任务,心跳派发后将高 IC 因子入库。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-10-11 01:49:16 +08:00
parent f0b35e6b34
commit 598cecad5f
11 changed files with 529 additions and 23 deletions
+21 -2
View File
@@ -249,7 +249,7 @@ class ComputeTask(Base):
)
id: Mapped[str] = mapped_column(String(36), primary_key=True, comment="task_id")
node_id: Mapped[int] = mapped_column(ForeignKey("compute_nodes.id"), index=True)
node_id: Mapped[int | None] = mapped_column(ForeignKey("compute_nodes.id"), nullable=True, index=True)
task_type: Mapped[str] = mapped_column(String(32), default="simulated_compute")
payload: Mapped[dict] = mapped_column(JSON)
status: Mapped[TaskStatus] = mapped_column(_enum(TaskStatus), default=TaskStatus.PENDING, index=True)
@@ -261,7 +261,26 @@ class ComputeTask(Base):
success: Mapped[bool | None] = mapped_column()
result: Mapped[dict | None] = mapped_column(JSON, comment="节点回传的任务结果")
node: Mapped[ComputeNode] = relationship(back_populates="tasks")
node: Mapped[ComputeNode | None] = relationship(back_populates="tasks")
class AlphaFactor(Base):
"""节点回传且达到 IC 门槛的因子。"""
__tablename__ = "alpha_factors"
__table_args__ = (
Index("ix_alpha_factor_task", "task_id"),
Index("ix_alpha_factor_ic", "ic"),
)
id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
task_id: Mapped[str] = mapped_column(ForeignKey("compute_tasks.id"), index=True)
node_id: Mapped[int] = mapped_column(ForeignKey("compute_nodes.id"), index=True)
formula: Mapped[str] = mapped_column(Text)
ic: Mapped[float] = mapped_column(Float)
symbol: Mapped[str | None] = mapped_column(String(32))
seed: Mapped[str | None] = mapped_column(String(64))
created_at: Mapped[datetime] = mapped_column(UtcDateTime, default=utcnow)
class NodeYield(Base):