量化合約跟單/交易所API跟單系統(tǒng)開發(fā)(開發(fā)案例)/詳細(xì)策略/成熟方案/源碼程序
人工智能技術(shù)是智能工業(yè)時(shí)代的核心技術(shù)之一。人工智能技術(shù)包括機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、自然語(yǔ)言處理、計(jì)算機(jī)視覺(jué)等。這些技術(shù)的應(yīng)用使得機(jī)器能夠自主地學(xué)習(xí)、理解和判斷,可以幫助工業(yè)企業(yè)實(shí)現(xiàn)自動(dòng)化、智能化和高效化的生產(chǎn)和管理。
從本質(zhì)上說(shuō),交易機(jī)器人是一種軟件程序,它直接與金融交易所進(jìn)行交互(通常使用API獲取和解釋相關(guān)信息),并根據(jù)市場(chǎng)數(shù)據(jù)的解釋發(fā)出買賣訂單。這些機(jī)器人通過(guò)監(jiān)測(cè)市場(chǎng)價(jià)格走勢(shì),并根據(jù)一套預(yù)先設(shè)定和編程的規(guī)則做出反應(yīng),從而做出這些決定。
通常,一個(gè)交易機(jī)器人會(huì)分析市場(chǎng)行為,例如交易量、訂單、價(jià)格和時(shí)間,它們通常可以根據(jù)您自己的喜好進(jìn)行編程。
量化交易是在交易階段由計(jì)算機(jī)自動(dòng)進(jìn)行的一種投資模式,它是對(duì)人類的投資理念進(jìn)行規(guī)范化、變量化、模型化,形成一整套可量化的操作理念,并用歷史數(shù)據(jù)進(jìn)行分析和驗(yàn)證。
class Calibration{
public:
//參數(shù)原始模型,模型uint8_t buffer,size,json配置文件
Calibration(MNN::NetT*model,uint8_t*modelBuffer,const int bufferSize,const std::string&configPath);
void runQuantizeModel();
private:
Calibration();
MNN::NetT*_originaleModel;//需要量化的模型
std::shared_ptr<MNN::CV::ImageProcess>_process;//負(fù)責(zé)image到tensor的轉(zhuǎn)化類
const int _binNums=2048;
int _imageNum=0;
int _width;
int _height;
std::vector<std::string>_imgaes;//圖片,用于校正特征量化系數(shù)的
//Tensor and Info
//tensor到對(duì)應(yīng)的TensorStatistic,TensorStatistic是描述tensor在量化過(guò)程中需要的統(tǒng)計(jì)數(shù)據(jù),后面有解釋
std::map<const MNN::Tensor*,std::shared_ptr<TensorStatistic>>_featureInfo;
//所有的tensor
std::map<int,const MNN::Tensor*>_tensorMap;
//Op's name,Inputs,Outputs
//op到input/output tensor的映射
std::map<std::string,std::pair<std::vector<MNN::Tensor*>,std::vector<MNN::Tensor*>>>_opInfo;
//The scale results
std::map<const MNN::Tensor*,std::vector<float>>_scales;
std::shared_ptr<MNN::Interpreter>_interpreter;
//keep mnn forward information
MNN::Session*_session;
MNN::Tensor*_inputTensor;
std::vector<int>_inputTensorDims;
std::string _featureQuantizeMethod="KL";
std::string _weightQuantizeMethod="MAX_ABS";
void _initMNNSession(const uint8_t*modelBuffer,const int bufferSize,const int channels);
void _initMaps();
void _computeFeatureMapsRange();
void _collectFeatureMapsDistribution();
void _computeFeatureScaleKL();
void _computeFeatureScaleADMM();
void _updateScale();
//insert the dequantization op before the not supported op(int8),and insert dequantization op
//after the output op,so that get original float data conveniently
void _insertDequantize();
};
#endif//CALIBRATION_HPP