Panda Quantflow节点介绍文档
  14771582611 2026年02月12日 199 1

Panda QuantFlow 节点介绍

本文档介绍 PandaAi 开源目录下的所有节点,包括节点的功能、输入和输出参数。


目录


01-基础工具

Python代码输入

  • 文件: code_node.py
  • 节点名称: Python代码输入
  • 分组: 01-基础工具

功能: 用于输入Python策略代码

输入:

参数名 类型 说明
code str 策略代码

输出:

参数名 类型 说明
code str 策略代码

位置: code_node.py:26


公式输入

  • 文件: formula_node.py
  • 节点名称: 公式输入
  • 分组: 02-特征工程

功能: 用于输入因子/特征公式

输入:

参数名 类型 说明
formulas str 公式

输出:

参数名 类型 说明
formulas str 公式

位置: formula_node.py:27


02-特征工程

特征工程构建

功能: 根据特征公式和标签公式构建特征工程,并计算特征值

输入:

参数名 类型 说明
formulas str 特征公式
label str 标签
start_date str 开始时间
end_date str 结束时间

输出:

参数名 类型 说明
factor DataFrame 特征值
feature_model FeatureModel 特征工程模型

位置: feature_engineering_build_node.py:31


03-机器学习

LightGBM模型

功能: 训练LightGBM回归模型

输入:

参数名 类型 说明
feature FeatureModel 特征工程
start_date str 训练开始时间
end_date str 训练结束时间
n_estimators int 决策树数量(越大越容易过拟合)
max_depth int 最大深度(越大越容易过拟合)
learning_rate float 学习率(越小越容易欠拟合)
num_leaves int 叶子节点数量(越大越容易过拟合)
subsample float 子样本比例(越大越容易过拟合)
colsample_bytree float 列采样比例(越大越容易过拟合)
reg_alpha float L1正则化(越大越容易欠拟合)
reg_lambda float L2正则化(越大越容易欠拟合)

输出:

参数名 类型 说明
model MLModel 训练好的模型(包含模型路径和类型)

位置: lightgbm_node.py:61


LSTM模型

功能: 训练LSTM时间序列模型

输入:

参数名 类型 说明
factor DataFrame 特征值(包含label列)
time_step int 时间步长
units int LSTM单元数
batch_size int 批大小
epochs int 训练轮数
dropout_rate float Dropout比例
learning_rate float 学习率

输出:

参数名 类型 说明
model MLModel 训练好的LSTM模型

位置: ml_lstm_node.py:87


GRU模型

  • 文件: ml_gru_node.py
  • 节点名称: GRU模型
  • 分组: 03-机器学习

功能: 训练GRU时间序列模型

输入:

参数名 类型 说明
factor DataFrame 特征值(包含label列)
time_step int 时间步长
units int GRU单元数
batch_size int 批大小
epochs int 训练轮数
dropout_rate float Dropout比例
learning_rate float 学习率

输出:

参数名 类型 说明
model MLModel 训练好的GRU模型

位置: ml_gru_node.py:87


多任务神经网络

  • 文件: mtl_nn_node.py
  • 节点名称: 多任务神经网络
  • 分组: 03-机器学习

功能: 训练多任务神经网络(多标签回归)

输入:

参数名 类型 说明
feature1-5 FeatureModel 特征工程(最多5个)
start_date str 训练开始时间
end_date str 训练结束时间
epochs int 训练轮数
hidden_dim int 隐藏层维度
lr float 学习率

输出:

参数名 类型 说明
model MLModel 训练好的多任务神经网络模型

位置: mtl_nn_node.py:96


随机森林模型

功能: 训练随机森林回归模型

输入:

参数名 类型 说明
feature FeatureModel 特征工程
start_date str 训练开始时间
end_date str 训练结束时间
n_estimators int 决策树数量(越大越容易过拟合)
max_depth int 最大深度(越大越容易过拟合)
min_samples_split int 最小分裂样本数(越大越容易欠拟合)
min_samples_leaf int 叶节点最小样本数(越大越容易欠拟合)
max_features str 最大特征数(auto/sqrt/log2)
bootstrap bool 是否使用自助采样
oob_score bool 是否计算袋外评分
random_state int 随机种子
n_jobs int 并行任务数(-1表示全部)

输出:

参数名 类型 说明
model MLModel 训练好的随机森林模型

位置: randomforest_node.py:48


SVM模型

  • 文件: svm_node.py
  • 节点名称: SVM模型
  • 分组: 03-机器学习

功能: 训练支持向量回归模型

输入:

参数名 类型 说明
feature FeatureModel 特征工程
start_date str 训练开始时间
end_date str 训练结束时间
kernel str 核函数类型(linear/poly/rbf/sigmoid)
degree int 多项式核函数次数
gamma str 核函数系数(scale/auto)
C float 正则化参数
epsilon float SVR模型中的Epsilon值
shrinking bool 是否使用收缩启发式
max_iter int 最大迭代次数

输出:

参数名 类型 说明
model MLModel 训练好的SVM模型

位置: svm_node.py:87


Xgboost模型

功能: 训练XGBoost回归模型

输入:

参数名 类型 说明
factor DataFrame 特征值(包含label列)
n_estimators int 决策树数量(越大越容易过拟合)
max_depth int 最大深度(越大越容易过拟合)
learning_rate float 学习率(越小越容易欠拟合)
min_child_weight int 最小子权重(越大越容易欠拟合)
gamma float Gamma(越大越容易欠拟合)
subsample float 子样本比例(越大越容易过拟合)
colsample_bytree float 列采样比例(越大越容易过拟合)
reg_alpha int L1正则化(越大越容易欠拟合)
reg_lambda int L2正则化(越大越容易欠拟合)

输出:

参数名 类型 说明
model MLModel 训练好的XGBoost模型

位置: ml_xgboost_node.py:48


04-因子相关

因子分析

功能: 对因子进行分组分析,计算因子收益

输入:

参数名 类型 说明
df_factor DataFrame 因子值
adjustment_cycle str 调仓周期(1/3/5/10/20/30)
group_number str 分组数量(2-20)
factor_direction str 因子方向(0:正向,1:负向)

输出:

参数名 类型 说明
task_id str 分析结果任务ID

位置: factor_analysis_node.py:58


因子分析结果

功能: 显示因子分析结果的图表

输入:

参数名 类型 说明
task_id str 分析结果任务ID

输出:

参数名 类型 说明
task_id str 图表绘制任务ID

位置: factor_analysis_chart_node.py:38


因子构建节点

功能: 根据因子公式构建因子

输入:

参数名 类型 说明
start_date str 因子开始时间
end_date str 因子结束时间
formulas str 因子公式

输出:

参数名 类型 说明
factor DataFrame 因子值

位置: factor_build_node.py:27


综合因子构建节点

功能: 根据Python代码或公式构建因子,支持股票/期货市场

输入:

参数名 类型 说明
start_date str 开始时间
end_date str 结束时间
code str 因子代码(Python类或公式)
market str 因子类型(股票/期货)
type str 编码方式(Python/公式)
direction str 因子方向(正向/负向)

输出:

参数名 类型 说明
factor DataFrame 因子值(包含date、symbol、factor_value列)

位置: factor_build_node_pro.py:34


因子相关性分析

功能: 对多个因子进行两两相关性分析

输入:

参数名 类型 说明
factor DataFrame 因子组(包含多个因子列)

输出:

参数名 类型 说明
task_id str 分析结果任务ID

位置: factor_correlation_calculation_node.py:43


因子相关性分析结果

功能: 显示因子相关性分析的图表

输入:

参数名 类型 说明
task_id str 分析结果任务ID

输出:

参数名 类型 说明
task_id str 图表绘制任务ID

位置: factor_correlation_chart_node.py:27


因子IC计算

功能: 计算因子的IC(信息系数)值

输入:

参数名 类型 说明
df_factor DataFrame 因子值
adjustment_cycle str 调仓周期
group_number str 分组数量
factor_direction str 因子方向

输出:

参数名 类型 说明
ic_value str 因子IC值列表(格式:"[0.1,0.2,0.3]")

位置: factor_ic_calculation_node.py:57


因子集合器

功能: 将多个因子DataFrame合并到一个DataFrame中

输入:

参数名 类型 说明
factor1-5 DataFrame 因子/因子组DataFrame(最多5个)

输出:

参数名 类型 说明
merged_factors DataFrame 合并后的因子组(包含date、symbol和所有factor列)

位置: factor_to_group_node.py:52


因子权重调整(归一化)

功能: 对因子进行Z-score标准化并应用权重调整

输入:

参数名 类型 说明
df_factor DataFrame 因子值(需包含date、symbol和因子列)
weight float 权重值(范围-10到10)

输出:

参数名 类型 说明
df_factor DataFrame 权重调整后的因子DataFrame

位置: factor_weight_adjust_node.py:62


因子权重组合

功能: 根据权重列表对多个因子进行加权组合

输入:

参数名 类型 说明
df_factor DataFrame 因子值
factor_weight str 因子权重列表(格式:"[0.22,0.32,0.35]")

输出:

参数名 类型 说明
df_factor DataFrame 加权组合后的因子DataFrame(只包含date、symbol和新生成的因子列)

位置: factor_weight_calculation_node.py:59


因子构建(机器学习)

功能: 使用机器学习模型构建预测因子

输入:

参数名 类型 说明
model MLModel 机器学习模型
feature FeatureModel 特征工程
start_date str 开始时间
end_date str 结束时间

输出:

参数名 类型 说明
factor DataFrame 因子值(包含date、symbol、value列)

位置: ml_factor_build_node.py:52


多因子合并(5-1)

功能: 将5个因子DataFrame根据date和symbol对齐合并,计算平均因子值

输入:

参数名 类型 说明
factor1-5 DataFrame 因子DataFrame(最多5个)

输出:

参数名 类型 说明
merged_factors DataFrame 合并后的因子(包含date、symbol、factor_value列)

位置: multi_factor_merge_node.py:71


05-回测相关

期货回测

功能: 对期货策略进行回测

输入:

参数名 类型 说明
code str 策略代码
factors DataFrame 因子值
start_future_capital int 初始资金
commission_rate int 佣金倍率
margin_rate int 保证金倍率
frequency str 回测频率(1d)
start_date str 开始日期
end_date str 结束日期

输出:

参数名 类型 说明
backtest_id str 回测任务ID

位置: backtest_future_node.py:69


股票回测

功能: 对股票策略进行回测

输入:

参数名 类型 说明
code str 策略代码
factors DataFrame 因子值
start_capital int 初始资金
standard_symbol str 基准指数(上证指数/沪深300/中证500/中证1000)
commission_rate int 佣金率
frequency str 回测频率(1d)
start_date str 开始日期
end_date str 结束日期

输出:

参数名 类型 说明
backtest_id str 回测ID

位置: backtest_stock_node.py:42


策略回测结果

功能: 显示回测结果图表

输入:

参数名 类型 说明
task_id str 回测任务ID

输出:

参数名 类型 说明
task_id str 图表绘制任务ID

位置: backtest_result_node.py:38


06-线下课专属

多因子构建(机器学习)

功能: 使用多个机器学习模型和特征工程构建加权因子

输入:

参数名 类型 说明
model1-5 MLModel 机器学习模型(最多5个)
features1-5 FeatureModel 特征工程(最多5个)
start_date str 开始时间
end_date str 结束时间

输出:

参数名 类型 说明
factor DataFrame 因子值(包含date、symbol、values列)

位置: ml_multi_factor_build_node.py:58


因子构建(机器学习-单模型多特征)

  • 文件: mtl_factor_build_node.py
  • 节点名称: 因子构建(机器学习-单模型多特征)
  • 分组: 06-线下课专属

功能: 使用单个机器学习模型处理多组特征工程构建因子

输入:

参数名 类型 说明
model MLModel 机器学习模型
feature1-5 FeatureModel 特征工程(最多5个)
start_date str 开始时间
end_date str 结束时间

输出:

参数名 类型 说明
factor DataFrame 因子值(包含date、symbol、value列)

位置: mtl_factor_build_node.py:55


PCA因子构建

功能: 基于主成分分析(PCA)和机器学习模型重要性构建复合因子

输入:

参数名 类型 说明
model MLModel 机器学习模型
feature FeatureModel 特征工程
test_start_date str 测试期间开始时间
test_end_date str 测试期间结束时间
predict_start_date str 预测期间开始时间
predict_end_date str 预测期间结束时间

输出:

参数名 类型 说明
factor DataFrame 复合因子得分(包含date、symbol、values列)
weights list 因子权重列表

位置: pca_factor_build_node.py:82


Spearman因子构建

功能: 使用XGBoost模型构建Spearman相关因子

输入:

参数名 类型 说明
model MLModel 机器学习模型(仅支持xgboost)
feature FeatureModel 特征工程
start_date str 开始时间
end_date str 结束时间

输出:

参数名 类型 说明
factor DataFrame 因子值(包含date、symbol、value列)

位置: spearman_factor_build_node.py:47


注释节点

以下节点已被注释,暂不可用:

节点名称 文件 说明
read_csv read_csv_node.py 读取CSV文件
save_csv save_csv_node.py 保存DataFrame为CSV文件
load_model load_model_node.py 加载保存的模型
save_model save_model_node.py 保存训练好的模型
多列表合并 merge_lists.py 合并多个列表
多元素合并列表 merge_to_list.py 将多个元素合并为列表

通用说明

MLModel

机器学习模型对象,包含以下字段:

  • model_path: 模型文件路径
  • model_type: 模型类型(xgboost/lightgbm/randomforest/svm/lstm/gru/mtl_nn)

FeatureModel

特征工程模型对象,包含以下字段:

  • features: 特征公式(换行分隔)
  • label: 标签公式

MLOutputModel

机器学习模型输出对象,包含以下字段:

  • model: MLModel对象(训练好的模型)

文档生成时间: 2026-02-12

最后一次编辑于 21天前 2

13508366080

很好的整理内容,学习了666

2026-02-12 15:22:45      回复

推荐阅读
123
  joe   8天前   39   0   0 机器学习