寻求Numerai Crypto Signals竞赛自动提交的可用Python/CLI代码示例
Numerai Crypto Signals 预测提交自动化方案(解决「无效模型」错误)
一、Python 提交示例(修正版)
以下是可直接使用的Python提交代码,已修复原代码中的参数传递和模型ID赋值问题:
import sys import traceback from numerapi import SignalsAPI # 校验命令行参数数量 if len(sys.argv) != 3: print("使用方法: python submit_signals.py <模型ID> <预测文件路径>") sys.exit(1) # 从命令行获取模型ID和预测文件路径 model_id = sys.argv[1] predictions_file_path = sys.argv[2] # 初始化SignalsAPI,替换为你的真实密钥 public_key = "你的Numerai公钥" secret_key = "你的Numerai私钥" api = SignalsAPI(public_key, secret_key) try: # 上传预测结果 submission_result = api.upload_predictions(predictions_file_path, model_id=model_id) print(f"预测上传成功!模型ID: {model_id}") print(f"提交返回信息: {submission_result}") except Exception as e: print(f"上传失败,错误信息: {str(e)}") traceback.print_exc()
关键注意事项:
- 必须将
public_key和secret_key替换为你在Numerai平台生成的有效API密钥 - 调用命令示例:
python submit_signals.py abcdef123456 predictions.csv - 预测文件需严格遵循格式:第一列名为
symbol(如BTC/USD),第二列名为signal(值范围0-1)
二、CLI 提交示例
使用Numerai官方CLI工具提交更简洁,无需编写代码:
- 先安装numerapi工具:
pip install numerapi
- 配置密钥(仅需执行一次):
numerapi configure
按照提示输入你的公钥和私钥即可保存到本地配置文件。
- 提交预测:
numerapi signals upload --model-id <你的模型ID> --file <预测文件路径>
如果未提前配置密钥,也可直接在命令中传入:
numerapi signals upload --model-id <你的模型ID> --file <预测文件路径> --public-key <公钥> --secret-key <私钥>
三、「无效模型」错误排查要点
- 确认模型ID属于Crypto Signals竞赛,而非Numerai主竞赛的模型ID
- 检查API密钥是否拥有该模型的提交权限(在Numerai平台的API密钥页面验证权限)
- 确保预测文件无格式错误:无额外列、列名正确、
signal值在0-1区间内 - 验证网络连接正常,无防火墙或代理拦截API请求
内容的提问来源于stack exchange,提问作者Slovenia Rentals
相关产品推荐
相关产品推荐

