Files
NewStock/.kilocode/rules/restricted_files.md
liaozhaorun 4607555eaf feat: 完善 QMT 交易模块文档和配置展示功能
- 优化前端仪表盘界面
- 添加配置文件可视化展示
- 编写 QMT 模块配置文档
- 完善项目规则体系(KiloCode)
2026-01-27 00:52:35 +08:00

3.0 KiB

限制文件规则

本规则定义了项目中需要保护的文件和目录,这些文件不应被直接修改或删除。

禁止修改的文件

模型文件

  • **/*.cbm - CatBoost 模型文件
  • **/*.pth - PyTorch 模型检查点
  • **/best_model.pth - 最佳模型文件
  • main/train/best_model.pth

预测结果文件

  • **/predictions_*.tsv - 预测结果文件
  • main/train/predictions_test.tsv
  • main/train/predictions_train.tsv
  • main/train/predictions.tsv
  • main/train/test1.tsv
  • main/train/test2.tsv
  • predictions_test.tsv

配置文件

  • .env - 环境变量配置
  • .gitignore - Git 忽略规则

禁止直接编辑的目录

模型训练输出目录

  • main/train/ - 模型训练输出目录
    • 所有 .pth 文件
    • 所有 .tsv 预测结果
    • 所有 .ipynb 分析报告(需要时可通过 Jupyter 编辑)

数据文件目录

  • main/data/ - 数据文件目录
    • 所有 .ipynb 数据处理笔记本(需通过 Jupyter 编辑)
    • update/ 子目录下的文件

模型文件

  • my_catboost_model.cbm - CatBoost 训练好的模型

只读数据目录

以下目录包含只读数据,处理时需要特别注意:

# 正确的读取方式
def load_data(filename):
    data = pd.read_hdf(filename, key="data")  # 使用 pandas 读取 HDF5
    return data

# 错误的写入方式 - 不要修改源数据
def process_data(filename):
    data = pd.read_hdf(filename, key="data")
    data.to_hdf(filename, key="data")  # 禁止!会覆盖源数据

Jupyter Notebook 规则

允许的操作

  • main/data/main/train/ 目录下编辑 .ipynb 文件
  • 运行 Notebook 进行数据分析
  • 添加新的分析单元

禁止的操作

  • 直接修改生成的模型文件
  • 手动修改预测结果文件

保护机制

临时文件

临时计算产生的中间文件(如带前缀 _ 的列)应在函数结束时清理:

def get_factor(df):
    old_columns = df.columns.tolist()[:]
    
    # 临时计算
    df["_temp_calc"] = df["close"] / df["open"]
    
    # 清理临时列
    cols_to_drop = ["_temp_calc"]
    df.drop(columns=cols_to_drop, inplace=True, errors="ignore")
    
    new_columns = [col for col in df.columns.tolist()[:] if col not in old_columns]
    return df, new_columns

模型文件保护

模型文件只能通过训练脚本生成,禁止手动修改:

# 正确:使用训练脚本
# python main/train/train_model.py

# 禁止:直接编辑模型文件
# 任何对 .pth, .cbm 文件的手动编辑都是不允许的

环境变量

以下环境变量在 .env 中定义,禁止硬编码:

  • 数据库连接信息
  • API 密钥
  • 路径配置

如需使用这些变量,应通过 os.getenv()python-dotenv 读取:

from dotenv import load_dotenv
import os

load_dotenv()
api_key = os.getenv("API_KEY")

相关规则文件

读取限制规则已移至独立文件 restricted_reads.md,包含禁止读取 config 文件和 JSON 文件的详细规则。