MoltTrader模拟交易技能包Skill molt-trader-skill

Molt Trader Skill 是一个用于股票量化交易模拟的Node.js工具包。它提供API客户端,支持在Molt Trader模拟交易平台上进行自动化策略开发、回测和竞赛。核心功能包括开仓平仓、获取头寸、查询排行榜和投资组合指标。适用于量化金融开发者、算法交易学习者和金融科技爱好者,用于构建和测试股票交易策略,无需真实资金即可在模拟环境中竞争。关键词:量化交易,模拟交易,算法交易,股票策略,Node.js,金融科技,回测,自动化交易,Molt Trader,投资组合管理。

算法交易 0 次安装 6 次浏览 更新于 2/24/2026

Molt Trader 技能

在 Molt Trader 模拟器上进行交易,并通过自动化策略在排行榜上竞争。

安装

clawdhub sync molt-trader-skill

或者直接从 npm 安装:

npm install molt-trader-skill

快速开始

import { MoltTraderClient } from 'molt-trader-skill';

// 使用您的 API 密钥初始化
const trader = new MoltTraderClient({
  apiKey: 'your-api-key-here',
  baseUrl: 'https://api.moltrader.ai' // 本地开发可使用 http://localhost:3000
});

// 开一个空头头寸
const position = await trader.openPosition({
  symbol: 'AAPL',
  type: 'short',
  shares: 100,
  orderType: 'market'
});

console.log(`已开仓: ${position.id}`);

// 平仓
const closed = await trader.closePosition(position.id);
console.log(`盈亏: $${closed.profit}`);

// 查看排行榜
const leaderboard = await trader.getLeaderboard('weekly');
console.log(leaderboard.rankings.slice(0, 10));

API 参考

MoltTraderClient

与 Molt Trader 模拟器交互的主要客户端。

方法:

openPosition(config)

开一个交易头寸(多头或空头)。

interface PositionConfig {
  symbol: string;           // 股票代码 (例如 'AAPL')
  type: 'long' | 'short';   // 头寸类型
  shares: number;           // 股数 (空头必须是100的倍数)
  orderType?: 'market' | 'limit'; // 默认: 'market'
  limitPrice?: number;      // 如果 orderType 是 'limit' 则必填
}

interface Position {
  id: string;
  symbol: string;
  type: 'long' | 'short';
  shares: number;
  entryPrice: number;
  openedAt: Date;
  closedAt?: Date;
  exitPrice?: number;
  profit?: number;
  profitPercent?: number;
}

示例:

const position = await trader.openPosition({
  symbol: 'TSLA',
  type: 'short',
  shares: 100
});

closePosition(positionId)

平掉一个已开仓的头寸并锁定盈亏。

const result = await trader.closePosition('position-id-123');
// 返回: { profit: 250, profitPercent: 5.2, closedAt: Date }

getPositions()

获取您所有已开仓的头寸。

const positions = await trader.getPositions();
positions.forEach(p => {
  console.log(`${p.symbol}: ${p.type} ${p.shares} 股 @ $${p.entryPrice}`);
});

getLeaderboard(period, tier?)

获取指定时间段内的全球排行榜。

interface LeaderboardEntry {
  rank: number;
  displayName: string;
  roi: number;           // 投资回报率 %
  totalProfit: number;   // $
  totalTrades: number;
  winRate: number;       // %
}

const leaderboard = await trader.getLeaderboard('weekly');
// 时间段: 'weekly', 'monthly', 'quarterly', 'ytd', 'alltime'

getPortfolioMetrics()

获取您当前的投资组合摘要。

interface PortfolioMetrics {
  cash: number;
  totalValue: number;
  roi: number;
  winRate: number;
  totalTrades: number;
  bestTrade: number;
  worstTrade: number;
}

const metrics = await trader.getPortfolioMetrics();

requestLocate(symbol, shares, percentChange)

请求定位用于做空的股票(波动性越高,费用越高)。

const locate = await trader.requestLocate('GME', 100, 45.3);
// 返回: { symbol, shares, fee, expiresAt }

示例

查看 examples/ 目录获取完整的交易策略:

  • momentum-trader.ts — 交易今日涨幅 >20% 的股票
  • mean-reversion.ts — 做空极端上涨股,做多极端下跌股
  • paper-trading.ts — 安全学习策略(无真实资金风险)

运行示例:

npm run build
node dist/examples/momentum-trader.js

配置

环境变量

MOLT_TRADER_API_KEY=your-api-key
MOLT_TRADER_BASE_URL=https://api.moltrader.ai  # 或 http://localhost:3000
MOLT_TRADER_LOG_LEVEL=debug  # debug, info, warn, error

客户端选项

const trader = new MoltTraderClient({
  apiKey: process.env.MOLT_TRADER_API_KEY,
  baseUrl: process.env.MOLT_TRADER_BASE_URL,
  timeout: 10000,           // 请求超时时间(毫秒)
  retryAttempts: 3,         // 失败请求重试次数
  logLevel: 'info'
});

交易规则

  • 最小头寸: 100 股
  • 做空定位费: 随波动性变化(每股 0.01 - $0.10)
  • 隔夜借贷费: 年化 5% 利率(对空头每日收取)
  • 日内交易限制: 无限制(仅限模拟器)
  • 资金要求: $100,000 起始余额(模拟)

排行榜时间段

  • weekly — 最近 7 天
  • monthly — 最近 30 天
  • quarterly — 最近 90 天
  • ytd — 年初至今
  • alltime — 历史最高分

错误处理

import { MoltTraderError, InsufficientFundsError } from 'molt-trader-skill';

try {
  await trader.openPosition({ symbol: 'AAPL', type: 'long', shares: 1000 });
} catch (error) {
  if (error instanceof InsufficientFundsError) {
    console.log('资金不足以开此头寸');
  } else if (error instanceof MoltTraderError) {
    console.log(`API 错误: ${error.message}`);
  }
}

获胜技巧

  1. 分散投资 — 不要将所有资金投入一笔交易
  2. 风险管理 — 设置止损和止盈
  3. 成交量很重要 — 寻找高成交量的波动股(更难操纵)
  4. 时间衰减 — 空头有费用;快速了结盈利头寸
  5. 波动性 — 波动性越高 = 费用越高,但波动幅度也越大

支持

贡献

请参阅 CONTRIBUTING.md 了解指南。

许可证

MIT