Necesito obtener determinados datos de mercado para mis estudios, y parece que la forma más conveniente para mí hacer esto es utilizar IQFeed feed de datos y MATLAB. Pero, por desgracia, ya no soy un experimentado MATLAB usuario que no puedo poner los datos en vivo en una matriz con el fin de salvarlos, mientras estoy escuchando en tiempo real de la función.
Respuestas
¿Demasiados anuncios?Así que tu pregunta es cómo utilizar MatLab (específicamente el IQFeed) para tratar con datos en tiempo real?
Voy a asumir que usted está usando MatLab versión anterior a 2011 / 2012, y si no publicará ningún tipo de problemas / comentarios y voy a ver qué puedo hacer. (También hay un montón de documentación para el uso de esta función usted puede encontrar aquí). Una vez que obtener del uso del MatLab sintaxis no es muy difícil.
La forma en que la API funciona es mediante la creación de un objeto en el IQF función, este objeto representa / ofertas con el IQFeed API para MatLab (todos disponibles en la documentación). La API proporciona intradía, garrapata, datos históricos, así como las principales noticias financieras (aunque esta característica en concreto es un poco anticuado / buenos en mi opinión, usted puede encontrar lo mejor de otras APIs). La API también proporciona nivel 1 y 2 a los datos de mercado. Para inicializar la conexión a un pre-sesión existente, utilice el siguiente comando.
c = iqf(username,password)
c = iqf(username,password,portname)
Nunca he tratado con el IQFeed sin embargo no debería ser nada diferente del almacenamiento en tiempo real de transmisión de datos en una matriz. Utilizando el discreto/roscados caja de retardo se puede, básicamente, el acelerador de los períodos de muestreo y cómo se almacenan. Además, el uso de la To File
bloque de una señal de entrada y se escriben en el archivo en una matriz que contiene dos (o más) de las filas. MatLab se escribe una columna a la matriz para cada muestra de datos.
Esto es lo que yo haría almacenamiento en tiempo real IQFeed de datos en una matriz en MatLab.
Como un reemplazo para el Comercio de caja de herramientas, intente IQML (Matlab conector para IQFeed), que se ejecuta en Matlab y se conecta directamente a IQFeed.
IQML es independiente de la 3º parte del producto que funciona en todos los Matlab/IQFeed versiones y plataformas (Windows, Linux, Mac). El conector es super fiable, fácil de usar, y la velocidad del rayo (incluyendo la paralelización). Viene con una detallada Guía de Usuario lleno de ejemplos de uso, ejemplos de secuencias de comandos de Matlab, y puntas de aplicación.
IQML necesidades sólo el núcleo de Matlab para ejecutar - no hay cajas de herramientas son necesarias (paralelización de los usos Parallel Computing Toolbox, pero IQML funciona bien incluso sin él).
En respuesta a la OP pregunta, he aquí un ejemplo de la captura en vivo IQFeed de datos en Matlab utilizando IQML:
>> data = IQML('quotes', 'Symbol','GOOG')
data =
Symbol: 'GOOG'
Most_Recent_Trade: 1092.14
Most_Recent_Trade_Size: 1
Most_Recent_Trade_Time: '09:46:31.960276'
Most_Recent_Trade_Market_Center: 25
Total_Volume: 113677
Bid: 1092.13
Bid_Size: 100
Ask: 1092.99
Ask_Size: 100
Open: 1099.22
High: 1099.22
Low: 1092.38
Close: 1090.93
Message_Contents: 'Cbaohlc'
Message_Description: 'Last qualified trade; A bid update occurred, An ask update occurred; An open declaration occurred; A high declaration occurred; A low declaration occurred; A close declaration occurred'
Most_Recent_Trade_Conditions: '3D87'
Trade_Conditions_Description: 'Intramaket Sweep; Odd lot trade'
Most_Recent_Market_Name: 'Direct Edge A (EDGA)'
IQML apoya toda la IQFeed de la API, incluyendo:
- Tanto el bloqueo (instantánea) y sin bloqueo (streaming) consultas de datos
- Vivir Nivel1 parte superior-de-libro de datos de mercado (comillas y oficios)
- Vivir Nivel2 en el mercado de los datos de profundidad
- Histórico, intra-día y vivir de datos de mercado (pulsos individuales o intervalo de barras)
- Fundamental info sobre los activos
- Opciones y futuros de las cadenas de búsqueda (con los últimos datos de mercado y Griegos)
- Símbolos de mercado y búsqueda de códigos de
- Los titulares de las noticias, la historia que cuenta y completar las historias de las noticias, con el usuario especificado filtros
- Posibilidad de adjuntar definidos por el usuario en Matlab funciones de devolución de llamada para IQFeed mensajes y eventos del mercado
- Definido por el usuario alertas personalizadas en streaming de los eventos de mercado (noticias/comillas/intervalo-bar/regional desencadenantes)
- Estadísticas de la conexión y programático de conexión/desconexión
Los usuarios pueden combinar todos los de la funcionalidad anterior para una completa de extremo a extremo del sistema de comercio automatizado utilizando la llanura de Matlab.
IQML fue desarrollado de forma independiente como un comercial de 3 ª parte del producto; no es afiliado con MathWorks o DTN. Como una tarde que venga a competir con un producto existente, IQML ofrece ventajas en términos de funcionalidad, el rendimiento, la fiabilidad, la documentación, el soporte y costo-efectividad. Pruébalo y comprueba por ti mismo.
Yair Altman