“量化交易”有两层含义,一种是从狭义上的讲法,指量化交易的内容,将交易的条件转变为程序的意思,自动下单。二是从广义上讲,是指系统交易的方法,一个整合交易的系统,按照一系列的交易条件,智能化的辅助决策系统体系
目前合约量化的具体表现为量化系统,量化软件,量化机器人等。每一种方式都带有不一样的表现形式,大部分的核心原理就是马丁倍投策略,马丁倍投策略来自原现货市场的策略,运用到合约上也是可以的。
交易策略是一套有规律的系统,进出条件,资金管理和风险把控等。V++++ch3ngaung 也有简单的策略也有复杂的策略。简单的策略通常使用的技术和价格行为,复杂策约使用高阶数学和统计模型。我们认为非常复杂的模型系统非常不错,但实际上分析和学术研究表明,复杂模型往往都是过度的挖掘历史数据,无法适应剧烈的市场变化,相反一些简单的模型却能长期稳定的发展。
std::vector<float>scaleValue(mOriginTensor->channel(),0.0f);
const int count=mOriginTensor->elementSize();
float max=0;
const float bound=127;
const float*originData=mOriginTensor->host<float>();
for(int i=0;i<count;i++){
float absData=std::fabs(originData<i>);
if(absData>max){
max=absData;
}
}
float alpha=max/(bound*2.5);【更全面的开发源码搭建可看我昵称】
//DLOG(INFO)<<"alpha init:"<<alpha;
const int maxStep=300;
float sum1=0;
float sum2=0;
float invAlpha;
for(int i=0;i<maxStep;i++){
sum1=0;
sum2=0;
invAlpha=1/alpha;
for(int i=0;i<count;i++){
auto origin=originData<i>;
auto dataQuant=std::roundf(origin*invAlpha);
dataQuant=std::fmin(bound,std::fmax(-bound,dataQuant));
【更全面的开发源码搭建可看我昵称】
sum1+=(dataQuant*origin);
sum2+=(dataQuant*dataQuant);
}
alpha=sum1/sum2;
}
//DLOG(INFO)<<"alpha final:"<<alpha;
std::fill(scaleValue.begin(),scaleValue.end(),alpha);
return scaleValue;
}