You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

76 lines
3.3 KiB

package main
// 账号配置 - 对应Python的account.txt
// 在Go中,我们用结构体(struct)代替Python的字典
type AccountConfig struct {
Username string `json:"username"` // `json:xxx` 是标签,告诉程序如何解析JSON
Password string `json:"password"`
}
// Alpha模拟设置 - 对应Python的default_settings
type SimulationSettings struct {
InstrumentType string `json:"instrumentType"` // "EQUITY"
Region string `json:"region"` // "USA"
Universe string `json:"universe"` // "TOP3000"
Delay int `json:"delay"` // 1
Decay int `json:"decay"` // 12
Truncation float64 `json:"truncation"` // 0.05
Neutralization string `json:"neutralization"` // "FAST"
Pasteurization string `json:"pasteurization"` // "ON"
UnitHandling string `json:"unitHandling"` // "VERIFY"
NanHandling string `json:"nanHandling"` // "ON"
Language string `json:"language"` // "FASTEXPR"
Visualization bool `json:"visualization"` // false
}
// 模拟请求数据 - 对应Python的simulation_data
type SimulationRequest struct {
Type string `json:"type"` // "REGULAR"
Settings SimulationSettings `json:"settings"`
Regular string `json:"regular"` // 表达式
}
// PerformanceMetrics 包含Alpha因子的所有性能指标
type PerformanceMetrics struct {
// 基本统计信息
SharpeRatio *float64 `json:"sharpe_ratio,omitempty"`
AnnualReturn *float64 `json:"annual_return,omitempty"`
AnnualVolatility *float64 `json:"annual_volatility,omitempty"`
MaxDrawdown *float64 `json:"max_drawdown,omitempty"`
InformationRatio *float64 `json:"information_ratio,omitempty"`
TailRatio *float64 `json:"tail_ratio,omitempty"`
CommonRatio *float64 `json:"common_ratio,omitempty"`
// 风险调整后收益
Score *float64 `json:"score,omitempty"`
Turnover *float64 `json:"turnover,omitempty"`
SpecificReturn *float64 `json:"specific_return,omitempty"`
SpecificRisk *float64 `json:"specific_risk,omitempty"`
// 分位数表现
TopMinusBottom *float64 `json:"top_minus_bottom,omitempty"`
TopDecileReturn *float64 `json:"top_decile_return,omitempty"`
BottomDecileReturn *float64 `json:"bottom_decile_return,omitempty"`
IC *float64 `json:"ic,omitempty"`
ICDecay *float64 `json:"ic_decay,omitempty"`
// 其他指标
TotalReturn *float64 `json:"total_return,omitempty"`
Capacity *float64 `json:"capacity,omitempty"`
Fitness *float64 `json:"fitness,omitempty"`
InstrumentCount *float64 `json:"instrument_count,omitempty"`
StartDate *string `json:"start_date,omitempty"`
EndDate *string `json:"end_date,omitempty"`
}
// 模拟结果 - 对应Python的simulation_result
type SimulationResult struct {
Status string `json:"status"` // "success", "error", "failed"
Expression string `json:"expression"`
AlphaID string `json:"alpha_id"`
Message string `json:"message,omitempty"` // 错误信息
Metrics *PerformanceMetrics `json:"metrics,omitempty"`
TimeCost float64 `json:"time_cost"` // 耗时(秒)
FormattedTime string `json:"formatted_time"`
Timestamp string `json:"timestamp"`
}