量化股票池数据是怎么分析出来的呢?说到这个需要先来了解股票量化的基本原理,在正常的基础上,不是所有的股票数据都经过一一筛选,而是使用一些分析工具来执行,就像a股自动交易接口系统需要编写相符合条件的策略来执行,那么就很快得到量化股票池数据了,接着会执行自动选股分析,不需要人工去动一下。那么,像这样很快的就能把量化选股分析出来的股票拿捏了,会用到哪些基本原理呢?
就比如说股票自动交易接口的开发方面,涉及到开发,就会有不同的功能模块,像执行量化选股数据分析是比较精准的。
a股自动交易接口查询各类交易数据方面:
|   签名  |   void QueryData(int  |   ClientId, int Category,  |   char* Result, char*  |   ErrorInfo);  | |
|   功能  |   查询各类交易数据  | ||||
|   参数  |   ClientId  |   客户端 Id  | |||
|   Category  |   查询信息类别 0: 资金, 1: 股份, 2: 当日委托, 3: 当日成交, 4: 可撤单, 5: 股东代码, 6: 融资余额, 7: 融券余额, 8: 可融证券, 9: 各券商不同, 10-11: 无, 12: 可申购新股查询, 13: 新股申购额度查询, 14: 配号查询, 15: 中签查询  | ||||
|   Result  |   查询结果, 需要分配 1024*1024 字节的空间 格式请参阅[Result 格式]  | ||||
|   ErrorInfo  |   错误信息, 需要分配 256 字节的空间  | ||||
|   返回值  |   无, 查询成功与否通过 ErrorInfo 是否为空字符串来判断  | ||||
披露查询账户数据、量化股票数据池数据:
|   签名  |   void QueryDatas(int ClientId, int Category[], int Count, char* Result[], char* ErrorInfo[]);  | |
|   功能  |   单账户批量查询各类交易数据, 通过下标区分每项查询  | |
|   参数  |   ClientId  |   客户端 Id  | 
|   Category[]  |   查询信息类别数组, 具体含义请参阅[查询信息类别]  | |
|   Count  |   查询项数, 即数组长度  | |
|   Result[]  |   查询结果数组, 每项结果需要分配 1024*1024 字节的空间 格式请参阅[Result 格式]  | |
|   ErrorInfo[]  |   错误信息数组, 每项错误信息需要分配 256 字节的空间  | |
|   返回值  |   无, 第 i 项查询成功与否通过 ErrorInfo[i]是否为空字符串来判断  | |
|   签名  |   void QueryMultiAccountsDatas(int ClientId[], int Category[], int Count, char* Result[], char* ErrorInfo[]);  | |
|   功能  |   多账户批量查询各类交易数据, 通过下标区分每项查询  | |
|   参数  |   ClientId[]  |   客户端 Id 数组  | 
|   Category[]  |   查询信息类别数组, 具体含义请参阅[查询信息类别]  | |
|   Count  |   查询项数, 即数组长度  | |
|   Result[]  |   查询结果数组, 每项结果需要分配 1024*1024 字节的空  | |
|   格式请参阅[Result 格式]  | ||
|   ErrorInfo[]  |   错误信息数组, 每项错误信息需要分配 256 字节的空间  | |
|   返回值  |   无, 第 i 项查询成功与否通过 ErrorInfo[i]是否为空字符串来判断  | |
如果是从交易接口输入下单代码,获取量化股票池的数据,则可以分析:
std::cout << "========== 融资买入: category = 2 ==========\n";
 category = 2;        // 委托类别
 entrustType = 0;     // 限价委托
 gddm = "9876543210"; // 股东代码(注意区分深圳和上海各自的股东代码)
 zqdm = "600000";     // 证券代码
 price = 7.61;        // 委托价格
 quantity = 100;      // 委托股数
 SendOrder(clientId, category, entrustType, gddm.c_str(), zqdm.c_str(), price,
           quantity, result, errinfo);
 if (NULL != errinfo[0]) {
   std::cout << errinfo << std::endl;
 } else {
   std::cout << result << std::endl;
 }
 std::cout << std::endl;
 // 委托撤单
 // exchangeId: 0=>深证(东兴证券是A0, 招商证券普通账户是2)
 //             1=>上证
 typedef void (*CancelOrderProc)(int clientId, const char *exchangeId,
                                 const char *entrustId, char *result,
                                 char *errinfo);
 const auto CancelOrder =
     reinterpret_cast<CancelOrderProc>(GetProcAddress(hDLL, "CancelOrder"));
 assert(CancelOrder);
std::cout << "========== 撤单委托 ==========\n";
 std::string exchangeId = "1";     // 上海
 std::string entrustId = "xxxxxx"; // 委托编号
 CancelOrder(clientId, exchangeId.c_str(), entrustId.c_str(), result, errinfo);
 if (NULL != errinfo[0]) {
   std::cout << errinfo << std::endl;
 } else {
   std::cout << result << std::endl;
 }
 std::cout << std::endl;
 
然后,当我们根据选股流程筛选出自选股票池之后,量化股票交易接口下一步可以通过择时策略,判断股票池中的各个股票是否产生了买入信号!产生买入信号后会自动添加到“交易条件单”中,在实盘时机器人会按要求买入,再综合这些方面就能获取股票池的数据了。


















