package com.lanyuanxiaoyao.leopard.core.service.selector;

import com.lanyuanxiaoyao.leopard.core.entity.Stock;
import java.util.Map;
import java.util.Set;

/**
 * 选股器
 *
 * @author lanyuanxiaoyao
 * @version 20250924
 */
public interface StockSelector<T> {
  Set<Candidate> select(T request);

  record Candidate(Stock stock, double score, Map<String, String> extra) {
    public Candidate(Stock stock, double score) {
      this(stock, score, Map.of());
    }
  }
}
