手工选出的股票池和量化选股模型选出的股票池有哪些区别?

虽然逻辑上看似比较简单,但是往往手工选出的股票池并不是最优解。因为一个成熟的模型往往需要进行多次的尝试和回溯测试,而客户自身的选股逻辑经常会受到主观意识的干扰,导致股票组合的实际表现不佳。

量化选股模块有着严格的纪律约束,基本能控制各类风险因子的暴露,克服人工构建组合的随意性,能够从海量客观数据中智能生成大量的策略池,客户只需要输入对收益和回撤的需求,系统就会自动匹配出相应的因子参数并进行策略回溯测试,并将股票池呈现给客户,从而省去客户自己搭建“黑匣子”的烦恼。

量化选股模型的建立是基于对大量历史数据的统计分析和模拟上的,因此对于数据处理的要求更加的严格了,那么为了更好的服务于投资者股票实时交易接口也运应而生,股票实时交易接口和量化交易同时都担负起对股市数据分析的重任!

量化选股策略Python代码(部分)

# coding=utf-8
from __future__ import print_function, absolute_import
from gm.api import *
import datetime
import pandas as pd
import numpy as np
from sklearn.ensemble import AdaBoostClassifier
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split

# 中位数去极值法
def filter_MAD(df, factors, n=3):
    """
    df: 去极值的因子数据
    factor: 待去极值的因子字段
    n: 中位数偏差值的上下界倍数
    return: 经过处理的因子df
    """
    for factor in factors:
        median = df[factor].quantile(0.5)
        new_median = ((df[factor] - median).abs()).quantile(0.5)
        max_range = median + n * new_median
        min_range = median - n * new_median

        for i in range(df.shape[0]):
            if df.loc[i, factor] > max_range:
                df.loc[i, factor] = max_range
            elif df.loc[i, factor] < min_range:
                df.loc[i, factor] = min_range
    return df

那么投资者可以通过https://gitee.com/metatradeapi 查看股票实时交易接口和量化交易,要是有不明白的地方也可以通过下方名片给小编留言!

你可能感兴趣的:(API接口,股票量化交易,开发语言,python)