{"id":266048,"date":"2022-09-06T13:56:59","date_gmt":"2022-09-06T12:56:59","guid":{"rendered":"https:\/\/www.quantifiedmodels.com\/lenguaje-r-aprendizaje-automatico\/"},"modified":"2023-05-05T12:26:59","modified_gmt":"2023-05-05T11:26:59","slug":"lenguaje-r-aprendizaje-automatico","status":"publish","type":"post","link":"https:\/\/www.quantifiedmodels.com\/es\/lenguaje-r-aprendizaje-automatico\/","title":{"rendered":"Aprendizaje autom\u00e1tico (Lenguaje R | Python)"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;0px|0px|0px|0px|true|true&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row use_custom_gutter=&#8221;on&#8221; make_equal=&#8221;on&#8221; admin_label=&#8221;row&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; width=&#8221;100%&#8221; custom_padding=&#8221;0px||0px||true|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text ul_type=&#8221;square&#8221; ul_position=&#8221;inside&#8221; ol_type=&#8221;decimal-leading-zero&#8221; ol_item_indent=&#8221;10px&#8221; _builder_version=&#8221;4.21.0&#8243; text_line_height=&#8221;1.5em&#8221; link_font=&#8221;|700|||||||&#8221; link_text_color=&#8221;#F53A71&#8243; ul_font=&#8221;||||||||&#8221; ul_font_size=&#8221;16px&#8221; ol_font_size=&#8221;16px&#8221; ol_line_height=&#8221;1.8em&#8221; quote_font=&#8221;TT Octosquares Medium||||||||&#8221; quote_text_align=&#8221;left&#8221; quote_text_color=&#8221;#210750&#8243; quote_font_size=&#8221;18px&#8221; header_2_text_align=&#8221;left&#8221; header_2_line_height=&#8221;1.2em&#8221; header_3_text_align=&#8221;left&#8221; header_3_text_color=&#8221;#7138DF&#8221; header_3_font_size=&#8221;24px&#8221; header_3_line_height=&#8221;1.2em&#8221; header_4_text_align=&#8221;left&#8221; header_4_text_color=&#8221;#7138DF&#8221; header_4_font_size=&#8221;22px&#8221; header_4_line_height=&#8221;1.2em&#8221; header_5_text_color=&#8221;#333333&#8243; header_5_font_size=&#8221;20px&#8221; header_6_text_color=&#8221;#333333&#8243; header_6_font_size=&#8221;18px&#8221; text_orientation=&#8221;justified&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2>Aprendizaje autom\u00e1tico (Lenguaje R | Python)<\/h2>\n<p>A pesar de tener unos a\u00f1os de haber sido publicado la informaci\u00f3n contenida nos parece excelente y nos puede ayudar a aclarar el terreno que estamos pisando cuando negociamos en el mercado financiero, la orden del d\u00eda son las m\u00e1quinas es por ello que el mercado a veces parece m\u00e1s err\u00e1tico que nunca pero la realidad es que las operaciones son tan r\u00e1pidas debido a la presencia de los sistemas automatizados que da esa impresi\u00f3n pero al final la oferta y la demanda es la que manda, el art\u00edculo fue traducido por nuestro equipo de trabajo, a continuaci\u00f3n la transcripci\u00f3n, esperamos la disfrute tanto como nosotros:<\/p>\n<p>Durante el a\u00f1o pasado hemos escrito varias historias sobre el uso del aprendizaje autom\u00e1tico para el trading. Desarrollar programas de trading con inteligencia artificial no es f\u00e1cil, no solo porque es un trabajo duro desarrollar algo predictivo sino tambi\u00e9n por las limitadas herramientas dentro de las mejores plataformas de trading para el aprendizaje autom\u00e1tico.<\/p>\n<p>Otros lenguajes de programaci\u00f3n disponen de herramientas para la pronosticaci\u00f3n de series temporales y el aprendizaje autom\u00e1tico. Los dos principales son el lenguaje R y Python. R no tiene una buena interfaz para desarrollar y probar los sistemas de trading de la manera que los traders desear\u00edan, aunque hay muchas bibliotecas que intentan permitir el backtesting de los sistemas de trading y la elaboraci\u00f3n de gr\u00e1ficos de los datos del mercado. El backtesting en Python es algo mejor, tambi\u00e9n tiene muchas bibliotecas de aprendizaje autom\u00e1tico, pero no tiene tan buenas bibliotecas de predicci\u00f3n estad\u00edstica como tiene R.<\/p>\n<p>Una soluci\u00f3n para esto es que varias plataformas de negociaci\u00f3n han a\u00f1adido una interfaz para R, nativa del lenguaje, de modo que siempre se puede pasar la informaci\u00f3n a trav\u00e9s de archivos. Una de estas empresas con una interfaz nativa de R es la plataforma InfoReach. Otra es la versi\u00f3n TradersStudio Turbo 2017. Esto se puede conseguir mediante un complemento.<\/p>\n<p>En los pr\u00f3ximos art\u00edculos le mostraremos c\u00f3mo se puede utilizar R para desarrollar el aprendizaje autom\u00e1tico y las tecnolog\u00edas de modelado de operaciones, y utilizarlas para hacer backtest y operar con sistemas de trading.<\/p>\n<p>[\/et_pb_text][et_pb_text ul_type=&#8221;square&#8221; ul_position=&#8221;inside&#8221; ol_type=&#8221;decimal-leading-zero&#8221; ol_item_indent=&#8221;10px&#8221; _builder_version=&#8221;4.19.5&#8243; text_line_height=&#8221;1.5em&#8221; link_font=&#8221;|700|||||||&#8221; link_text_color=&#8221;#F53A71&#8243; ul_font=&#8221;||||||||&#8221; ul_font_size=&#8221;16px&#8221; ol_font_size=&#8221;16px&#8221; ol_line_height=&#8221;1.8em&#8221; quote_font=&#8221;TT Octosquares Medium||||||||&#8221; quote_text_align=&#8221;left&#8221; quote_text_color=&#8221;#210750&#8243; quote_font_size=&#8221;18px&#8221; header_2_text_align=&#8221;left&#8221; header_2_line_height=&#8221;1.2em&#8221; header_3_text_align=&#8221;left&#8221; header_3_text_color=&#8221;#7138DF&#8221; header_3_font_size=&#8221;24px&#8221; header_3_line_height=&#8221;1.2em&#8221; header_4_text_align=&#8221;left&#8221; header_4_text_color=&#8221;#7138DF&#8221; header_4_font_size=&#8221;22px&#8221; header_4_line_height=&#8221;1.2em&#8221; header_5_text_color=&#8221;#333333&#8243; header_5_font_size=&#8221;20px&#8221; header_6_text_color=&#8221;#333333&#8243; header_6_font_size=&#8221;18px&#8221; text_orientation=&#8221;justified&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h2>El final de los operadores promedio<\/h2>\n<p>En 2015, el fondo de cobertura de 165.000 millones de d\u00f3lares de Ray Dalio, Bridgewater Associates, puso en marcha una unidad de inteligencia artificial con seis personas. Este equipo est\u00e1 dirigido por David Ferrucci, que se incorpor\u00f3 a Bridgewater a finales de 2012 tras dirigir a los ingenieros de International Business Machines (IBM) que desarrollaron Watson, el ordenador que venci\u00f3 a los jugadores humanos en \u00abJeopardy\u00bb. Esta nueva unidad de Bridgewater dispondr\u00e1 de grandes recursos para aplicar a los mercados la tecnolog\u00eda de predicci\u00f3n, que se adapta a las condiciones cambiantes del mercado; es un nuevo paradigma que podr\u00eda suponer el fin del trader promedio.<br \/>El desarrollo de sistemas adaptativos y de aprendizaje autom\u00e1tico para los sistemas de negociaci\u00f3n es muy caro por dos razones. En primer lugar, es necesario desarrollar el c\u00f3digo del m\u00e9todo de aprendizaje autom\u00e1tico, como ocurre con los algoritmos de redes neuronales, los algoritmos de ond\u00edculas y los algoritmos de aprendizaje profundo. Este software requiere habilidades matem\u00e1ticas y de programaci\u00f3n de alto nivel para ser escrito. Desarrollar un complemento para Excel o TradeStation con un algoritmo a partir de publicaciones cient\u00edficas podr\u00eda llevar varios meses de desarrollo utilizando mentes de clase mundial. S\u00f3lo el algoritmo podr\u00eda costar hasta 100.000 d\u00f3lares en su desarrollo y podr\u00eda no funcionar para usted. Lo ideal ser\u00eda tener una colecci\u00f3n de docenas de herramientas que costar\u00edan millones. Este enfoque para grandes fondos de cobertura como Bridgewater es ideal porque le permite una mejor integraci\u00f3n entre los algoritmos de aprendizaje y las se\u00f1ales de negociaci\u00f3n.<\/p>\n<p>Las empresas de inversi\u00f3n cuantitativa, como Two Sigma Investments, de 24.000 millones de d\u00f3lares, y Renaissance Technologies, de 25.000 millones de d\u00f3lares, est\u00e1n contratando cada vez m\u00e1s programadores e ingenieros para ampliar sus plantillas de inteligencia artificial. El aprendizaje autom\u00e1tico ofrece a los fondos de cobertura una ventaja competitiva en los mercados en los que la negociaci\u00f3n se ha visto perjudicada por la riqueza de los precios de los activos, seg\u00fan Gustavo Dolfino, director general de la empresa de contrataci\u00f3n WhiteRock Group. dice Dolfino: \u00abEl aprendizaje autom\u00e1tico es la nueva ola de inversi\u00f3n para los pr\u00f3ximos 20 a\u00f1os y los jugadores inteligentes se est\u00e1n centrando en \u00e9l\u00bb.<\/p>\n<p>La otra habilidad costosa que se necesita es la del ingeniero de conocimiento con experiencia en el mercado y el trading. Tienen que utilizar las herramientas y entender los algoritmos, pero no al nivel de los desarrolladores que han desarrollado el c\u00f3digo.<\/p>\n<p>El coste de la creaci\u00f3n de algoritmos retras\u00f3 la investigaci\u00f3n. Por eso R se ha vuelto tan valioso. R tiene miles de bibliotecas construidas con c\u00f3digo abierto por una comunidad de desarrolladores. Si una empresa tuviera que desarrollar estas bibliotecas, le costar\u00eda decenas de millones de d\u00f3lares, pero con R puede aprovecharlas y s\u00f3lo tiene que preocuparse de la ingenier\u00eda del conocimiento y el desarrollo del sistema.<br \/>El lenguaje de programaci\u00f3n R es ahora uno de los lenguajes de programaci\u00f3n m\u00e1s populares para el aprendizaje autom\u00e1tico y el trading.<\/p>\n<p>R ofrece bibliotecas de aprendizaje autom\u00e1tico, an\u00e1lisis estad\u00edstico, an\u00e1lisis fractal y de ond\u00edculas, procesamiento del lenguaje natural y mucho m\u00e1s. R requiere de una curva de aprendizaje, pero si se tienen en cuenta las herramientas avanzadas en t\u00e9rminos de modelado que puede realizar, merece la pena. El backtesting en R es muy primitivo. Debido a esto, el mejor uso de R para los traders es hacer an\u00e1lisis que ayuden al desarrollo del sistema o la salida. La salida producida por sus estudios de mercado realizados en R puede ser utilizada como datos de entrada en una estrategia. Algunas plataformas de negociaci\u00f3n pueden utilizar R-Scripts. Actualmente tenemos R disponible para TradersStudio como un complemento. En el momento de escribir esto est\u00e1 en beta con un lanzamiento en el a\u00f1o 2017.<\/p>\n<p>Estas son fuentes gratuitas para aprender R. Tambi\u00e9n hay muchos cursos de pago para aprender R y servicios a buen precio con un mont\u00f3n de buenos cursos sobre R y aprendizaje autom\u00e1tico en DataCamp.<\/p>\n<p>[\/et_pb_text][et_pb_text ul_type=&#8221;square&#8221; ul_position=&#8221;inside&#8221; ol_type=&#8221;decimal-leading-zero&#8221; ol_item_indent=&#8221;10px&#8221; _builder_version=&#8221;4.19.5&#8243; text_line_height=&#8221;1.5em&#8221; link_font=&#8221;|700|||||||&#8221; link_text_color=&#8221;#F53A71&#8243; ul_font=&#8221;||||||||&#8221; ul_font_size=&#8221;16px&#8221; ol_font_size=&#8221;16px&#8221; ol_line_height=&#8221;1.8em&#8221; quote_font=&#8221;TT Octosquares Medium||||||||&#8221; quote_text_align=&#8221;left&#8221; quote_text_color=&#8221;#210750&#8243; quote_font_size=&#8221;18px&#8221; header_2_text_align=&#8221;left&#8221; header_2_line_height=&#8221;1.2em&#8221; header_3_text_align=&#8221;left&#8221; header_3_text_color=&#8221;#7138DF&#8221; header_3_font_size=&#8221;24px&#8221; header_3_line_height=&#8221;1.2em&#8221; header_4_text_align=&#8221;left&#8221; header_4_text_color=&#8221;#7138DF&#8221; header_4_font_size=&#8221;22px&#8221; header_4_line_height=&#8221;1.2em&#8221; header_5_text_color=&#8221;#333333&#8243; header_5_font_size=&#8221;20px&#8221; header_6_text_color=&#8221;#333333&#8243; header_6_font_size=&#8221;18px&#8221; text_orientation=&#8221;justified&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h2>Herramientas de traders para todos<\/h2>\n<p>Ahora todos podemos utilizar las herramientas de trading que emplean los principales fondos de cobertura utilizando R y tambi\u00e9n hasta cierto punto Python, aunque R tiene la mejor interfaz con los programas externos lo que permite una mejor integraci\u00f3n entre las estrategias de negociaci\u00f3n y la inteligencia. Estas herramientas van desde las m\u00e1s modernas de an\u00e1lisis de series temporales, como los modelos h\u00edbridos Arima\/Garch, pasando por las ond\u00edculas y los m\u00e9todos de aprendizaje autom\u00e1tico, hasta una serie de algoritmos de redes neuronales, inducci\u00f3n de reglas y algoritmos evolutivos, desde la programaci\u00f3n gen\u00e9tica hasta la tecnolog\u00eda de enjambre. Adem\u00e1s, existen herramientas de modelizaci\u00f3n de la teor\u00eda del caos y la teor\u00eda de los juegos, as\u00ed como modelos de Markov ocultos.<\/p>\n<p>Incluso las herramientas avanzadas de modelado de series temporales pueden llevar el trading a donde no ha llegado antes. TradersStudio ha desarrollado un sistema h\u00edbrido Arima\/Garch. Este modelo predice el cierre del S&amp;P 500 para el d\u00eda siguiente menos el cierre del d\u00eda actual. Esto est\u00e1 bien porque los futuros se negocian despu\u00e9s de las 16:00 horas y el SPY tiene liquidez hasta las 18:00 horas aproximadamente, por lo que es posible obtener una se\u00f1al sobre el cierre y realizar una operaci\u00f3n un minuto o dos despu\u00e9s. Las predicciones en bruto obtuvieron beneficios en m\u00e1s de 2.800 puntos, lo que demuestra que este tipo de tecnolog\u00eda es importante y valiosa para los operadores. He aqu\u00ed c\u00f3mo los m\u00e9todos de aprendizaje autom\u00e1tico que construyen un \u00e1rbol recursivo pueden utilizarse en el trading.<\/p>\n<p>[\/et_pb_text][et_pb_text ul_type=&#8221;square&#8221; ul_position=&#8221;inside&#8221; ol_type=&#8221;decimal-leading-zero&#8221; ol_item_indent=&#8221;10px&#8221; _builder_version=&#8221;4.19.5&#8243; text_line_height=&#8221;1.5em&#8221; link_font=&#8221;|700|||||||&#8221; link_text_color=&#8221;#F53A71&#8243; ul_font=&#8221;||||||||&#8221; ul_font_size=&#8221;16px&#8221; ol_font_size=&#8221;16px&#8221; ol_line_height=&#8221;1.8em&#8221; quote_font=&#8221;TT Octosquares Medium||||||||&#8221; quote_text_align=&#8221;left&#8221; quote_text_color=&#8221;#210750&#8243; quote_font_size=&#8221;18px&#8221; header_2_text_align=&#8221;left&#8221; header_2_line_height=&#8221;1.2em&#8221; header_3_text_align=&#8221;left&#8221; header_3_text_color=&#8221;#7138DF&#8221; header_3_font_size=&#8221;24px&#8221; header_3_line_height=&#8221;1.2em&#8221; header_4_text_align=&#8221;left&#8221; header_4_text_color=&#8221;#7138DF&#8221; header_4_font_size=&#8221;22px&#8221; header_4_line_height=&#8221;1.2em&#8221; header_5_text_color=&#8221;#333333&#8243; header_5_font_size=&#8221;20px&#8221; header_6_text_color=&#8221;#333333&#8243; header_6_font_size=&#8221;18px&#8221; text_orientation=&#8221;justified&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h2>El dinero crece en los \u00e1rboles<\/h2>\n<p>La partici\u00f3n recursiva es un m\u00e9todo estad\u00edstico para el an\u00e1lisis multivariable. La partici\u00f3n recursiva crea un \u00e1rbol de decisi\u00f3n que trata de clasificar correctamente a los miembros de la poblaci\u00f3n dividi\u00e9ndola en subpoblaciones basadas en varias variables independientes dicot\u00f3micas. El proceso se denomina recursivo porque cada subpoblaci\u00f3n puede dividirse a su vez un n\u00famero indefinido de veces.<br \/>Los m\u00e9todos de partici\u00f3n recursiva se han desarrollado desde la d\u00e9cada de 1980. Entre los m\u00e9todos de partici\u00f3n recursiva m\u00e1s conocidos est\u00e1n el algoritmo ID3 de Ross Quinlan y sus sucesores, C4.5 y C5.0, y los \u00e1rboles de clasificaci\u00f3n y regresi\u00f3n. Los m\u00e9todos de aprendizaje conjunto, como los bosques aleatorios, ayudan a superar el problema habitual de estos m\u00e9todos (su vulnerabilidad al sobreajuste de los datos) al emplear diferentes algoritmos y combinar sus resultados de alguna manera.<\/p>\n<p>Una variaci\u00f3n es la partici\u00f3n recursiva lineal de Cox. Estos m\u00e9todos pueden utilizarse para elegir valores bas\u00e1ndose en fundamentos y juzgar si un valor est\u00e1 sobrevalorado, correctamente valorado o infravalorado (s\u00f3lo utilizaremos valores infravalorados).<\/p>\n<p>Estos m\u00e9todos tambi\u00e9n se pueden utilizar para predecir los rendimientos del mercado en el siguiente periodo en variables categ\u00f3ricas, como por ejemplo: gran ascenso, alza, estabilidad, ca\u00edda y gran descenso. Veamos un ejemplo sencillo. El objetivo no es dar el santo grial, sino mostrarle c\u00f3mo puede empezar a construir estos modelos usted mismo. R es un gran lenguaje para el preprocesamiento de datos, pero requiere una comprensi\u00f3n m\u00e1s profunda de los tipos de datos de R. Por ejemplo, algunas librer\u00edas usan Matrices, Data Frames mientras que otras usan xts que est\u00e1 basado en la librer\u00eda zoo y necesitas pasar el tipo correcto. Hay funciones para hacer esta conversi\u00f3n sobre la marcha. Otra opci\u00f3n si no eres un experto en R es hacer tu preproceso en TradersStudio o TradeStation ya que nos sentimos m\u00e1s confirmados haciendo el procesamiento de datos en esas plataformas y sabemos c\u00f3mo llamar a todos los indicadores que necesitamos as\u00ed como escribir los nuevos que se nos ocurran. Crearemos un archivo CSV que cargaremos en R y probaremos estos algoritmos de \u00e1rbol.<\/p>\n<p>Nos facilitaremos la vida y utilizaremos el terminal de impresi\u00f3n de TradersStudio para dar salida a los datos. A continuaci\u00f3n, guardaremos el terminal de impresi\u00f3n en un archivo. Haremos nuestro an\u00e1lisis con datos semanales del S&amp;P 500. Utilizaremos los beneficios del S&amp;P 500, el Dow Transports y el S&amp;P Dividends adem\u00e1s de los datos de precios del S&amp;P 500. Nuestro objetivo es predecir la variaci\u00f3n del S&amp;P 500 una semana en el futuro. Lo haremos mediante el \u00c1rbol de regresi\u00f3n utilizando la Biblioteca RPart en R. Originalmente predecimos la direcci\u00f3n del S&amp;P 500 utilizando una serie de entradas. Fallamos mucho. El \u00e1rbol pod\u00eda resolver cualquier divisi\u00f3n que a\u00f1adiera informaci\u00f3n a la divisi\u00f3n de la clase de salida. La clave en el desarrollo de estos algoritmos de \u00e1rbol es definir inteligentemente la variable de predicci\u00f3n.<\/p>\n<p>El problema es el ruido. La predicci\u00f3n de la direcci\u00f3n de un d\u00eda es muy ruidosa y podemos tener operaciones de \u00abwhipsaw\u00bb, que costar\u00edan deslizamientos y comisiones adicionales. Realmente no queremos cambiar de posici\u00f3n cuando el mercado puede moverse ligeramente en nuestra contra y tambi\u00e9n queremos filtrar el ruido. Estos factores se contrarrestan con el beneficio. De este modo, deber\u00edamos probar nuestro objetivo como si lo conoci\u00e9ramos perfectamente para ver la rentabilidad que hubiera tenido. Hemos optado por utilizar el siguiente objetivo.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;Raleway||||||||&#8221; text_text_color=&#8221;#ffffff&#8221; text_font_size=&#8221;15px&#8221; text_line_height=&#8221;1.9em&#8221; header_font=&#8221;Raleway||||||||&#8221; header_2_font=&#8221;Poppins|700|||||||&#8221; header_2_text_align=&#8221;left&#8221; header_2_text_color=&#8221;#000000&#8243; header_2_font_size=&#8221;36px&#8221; header_2_line_height=&#8221;1.2em&#8221; header_4_font=&#8221;Poppins|600|||||||&#8221; header_4_text_align=&#8221;left&#8221; header_4_text_color=&#8221;#0c5adb&#8221; header_4_font_size=&#8221;20px&#8221; header_4_line_height=&#8221;1.2em&#8221; background_color=&#8221;#000000&#8243; text_orientation=&#8221;justified&#8221; header_2_font_size_tablet=&#8221;&#8221; header_2_font_size_phone=&#8221;24px&#8221; header_2_font_size_last_edited=&#8221;on|phone&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<div class=\"code-embed-wrapper\">\n<pre class=\"language-cpp code-embed-pre line-numbers\" data-line=\"9,15\" data-start=\"1\" data-line-offset=\"0\"><code class=\"language-cpp code-embed-code\">\nIf (ForClose-Average(ForClose,3,0)&gt;=0) Or \n(ForClose-Average(ForClose,3,0) &gt;= -.1*Average(ForRange,3,0) And Perfect[1]=1) \nThen Perfect=1\n\nIf (ForClose-Average(ForClose,3,0)&lt;0) Or \n(ForClose-Average(ForClose,3,0)&lt;=.1*Average(ForRange,3,0) And Perfect[1]=-1)\nThen Perfect=-1\n<\/code><\/pre>\n<\/div>\n<p>[\/et_pb_text][et_pb_text ul_type=&#8221;square&#8221; ul_position=&#8221;inside&#8221; ol_type=&#8221;decimal-leading-zero&#8221; ol_item_indent=&#8221;10px&#8221; _builder_version=&#8221;4.19.5&#8243; text_line_height=&#8221;1.5em&#8221; link_font=&#8221;|700|||||||&#8221; link_text_color=&#8221;#F53A71&#8243; ul_font=&#8221;||||||||&#8221; ul_font_size=&#8221;16px&#8221; ol_font_size=&#8221;16px&#8221; ol_line_height=&#8221;1.8em&#8221; quote_font=&#8221;TT Octosquares Medium||||||||&#8221; quote_text_align=&#8221;left&#8221; quote_text_color=&#8221;#210750&#8243; quote_font_size=&#8221;18px&#8221; header_2_text_align=&#8221;left&#8221; header_2_line_height=&#8221;1.2em&#8221; header_3_text_align=&#8221;left&#8221; header_3_text_color=&#8221;#7138DF&#8221; header_3_font_size=&#8221;24px&#8221; header_3_line_height=&#8221;1.2em&#8221; header_4_text_align=&#8221;left&#8221; header_4_text_color=&#8221;#7138DF&#8221; header_4_font_size=&#8221;22px&#8221; header_4_line_height=&#8221;1.2em&#8221; header_5_text_color=&#8221;#333333&#8243; header_5_font_size=&#8221;20px&#8221; header_6_text_color=&#8221;#333333&#8243; header_6_font_size=&#8221;18px&#8221; text_orientation=&#8221;justified&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>La serie ForClose es la serie de precios para el cierre desplazado en una barra hacia el futuro. Puede ver que no cambiamos las posiciones cuando el precio no se mueve m\u00e1s del 10% del rango en su contra una barra en el futuro.<\/p>\n<p>Debido a la reducci\u00f3n de ruido, este objetivo es mucho m\u00e1s f\u00e1cil de predecir y todav\u00eda hace una locura de dinero si pudi\u00e9ramos predecir perfectamente. Haciendo un backtesting desde el 10 de enero de 1980 hasta el 9 de diciembre de 2016, sin deslizamientos ni comisiones ganamos m\u00e1s de 23.000 puntos si supi\u00e9ramos este objetivo a la perfecci\u00f3n. Conociendo el cambio de precio perfectamente una barra en el futuro hace m\u00e1s de 26.700 puntos, aproximadamente un 12% m\u00e1s pero es mucho m\u00e1s dif\u00edcil de predecir. Usaremos mi nuevo objetivo para el resto de este an\u00e1lisis.<\/p>\n<p>Utilizamos los datos semanales del S&amp;P 500, los beneficios del S&amp;P 500, los dividendos del S&amp;P 500 y el DJ Transports para nuestro modelo. Llamamos a este archivo DataWkPred.csv. Lo utilizaremos junto con el paquete RPart de R para implementar un \u00e1rbol recursivo. Utilizaremos el 80% de nuestros datos para el entrenamiento y el 20% para las pruebas, fuera de los datos de la muestra. (Ambos c\u00f3digos est\u00e1n disponibles en l\u00ednea).<\/p>\n<p>Este c\u00f3digo contiene mucha informaci\u00f3n. Estudiaremos la informaci\u00f3n m\u00e1s interesante y \u00fatil de esta salida (v\u00e9ase \u00abExplicaci\u00f3n de la salida\u00bb, m\u00e1s adelante).<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.quantifiedmodels.com\/wp-content\/uploads\/2022\/09\/MT_March_TraderTech_Explaining.jpg&#8221; alt=&#8221;Explaining the output&#8221; title_text=&#8221;Explaining the output&#8221; show_in_lightbox=&#8221;on&#8221; use_overlay=&#8221;on&#8221; overlay_icon_color=&#8221;#F53A71&#8243; hover_overlay_color=&#8221;rgba(33,7,80,0.6)&#8221; hover_icon=&#8221;&#xe054;||divi||400&#8243; align=&#8221;center&#8221; _builder_version=&#8221;4.19.5&#8243; width=&#8221;60%&#8221; width_tablet=&#8221;60%&#8221; width_phone=&#8221;60%&#8221; width_last_edited=&#8221;on|desktop&#8221; module_alignment=&#8221;center&#8221; custom_padding=&#8221;10px|20px|10px|20px|false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text ul_type=&#8221;square&#8221; ul_position=&#8221;inside&#8221; ol_type=&#8221;decimal-leading-zero&#8221; ol_item_indent=&#8221;10px&#8221; _builder_version=&#8221;4.19.5&#8243; text_line_height=&#8221;1.5em&#8221; link_font=&#8221;|700|||||||&#8221; link_text_color=&#8221;#F53A71&#8243; ul_font=&#8221;||||||||&#8221; ul_font_size=&#8221;16px&#8221; ol_font_size=&#8221;16px&#8221; ol_line_height=&#8221;1.8em&#8221; quote_font=&#8221;TT Octosquares Medium||||||||&#8221; quote_text_align=&#8221;left&#8221; quote_text_color=&#8221;#210750&#8243; quote_font_size=&#8221;18px&#8221; header_2_text_align=&#8221;left&#8221; header_2_line_height=&#8221;1.2em&#8221; header_3_text_align=&#8221;left&#8221; header_3_text_color=&#8221;#7138DF&#8221; header_3_font_size=&#8221;24px&#8221; header_3_line_height=&#8221;1.2em&#8221; header_4_text_align=&#8221;left&#8221; header_4_text_color=&#8221;#7138DF&#8221; header_4_font_size=&#8221;22px&#8221; header_4_line_height=&#8221;1.2em&#8221; header_5_text_color=&#8221;#333333&#8243; header_5_font_size=&#8221;20px&#8221; header_6_text_color=&#8221;#333333&#8243; header_6_font_size=&#8221;18px&#8221; text_orientation=&#8221;justified&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>El par\u00e1metro de complejidad explica la cantidad en que cambiar\u00e1 el error relativo si se realiza una divisi\u00f3n. N\u00famero de divisiones muestra que el n\u00famero de divisiones realizadas es cero y, por tanto, el n\u00famero total de nodos es 0+1 = 1, que es el nodo padre; nsplit = 1 indica que se ha realizado una divisi\u00f3n, es decir, que el nodo padre se ha dividido y ahora el total de nodos pasa a ser 1+1 =2. El error relativo a las divisiones se mide en relaci\u00f3n con el nodo padre. Se considera que el nodo padre tiene el error 1.000, suponiendo el mayor n\u00famero de errores de clasificaci\u00f3n.<\/p>\n<p>La tabla muestra que nsplit=0 lo cual indica el nodo padre. El error relativo en este caso es de 1,0. El valor del par\u00e1metro de complejidad es 0,18969849, lo que indica que se realiza 1 divisi\u00f3n (nsplit = 1). El error relativo pasa a ser de 1-0,18969848 = 0,8103015, lo que es evidente en la segunda l\u00ednea. La salida se muestra hasta donde el valor del par\u00e1metro de complejidad es muy peque\u00f1o. En este caso en nsplit = 4 porque s\u00f3lo hay una reducci\u00f3n marginal del error. El error de validaci\u00f3n cruzada de diez veces (xerror) es el conjunto de datos en 10 muestras. Cada una de las muestras se divide en prueba y entrenamiento en una proporci\u00f3n de 90:10. A continuaci\u00f3n, se entrena el modelo y se calcula el error y se hace la media de las muestras.<\/p>\n<p>En este caso, el error se calcula en cada divisi\u00f3n. Tambi\u00e9n se mide en relaci\u00f3n con el nodo principal. El error est\u00e1ndar se utiliza generalmente para obtener el n\u00famero \u00f3ptimo de divisiones en las que el error est\u00e1ndar es m\u00ednimo y 1-SE es m\u00e1ximo.<\/p>\n<p>Este procedimiento se sigue porque inicialmente el error est\u00e1ndar disminuye con el n\u00famero de divisiones, pero despu\u00e9s de una determinada divisi\u00f3n el error est\u00e1ndar aumenta. Este valor de divisi\u00f3n puede considerarse como el valor \u00f3ptimo de divisi\u00f3n. Sin embargo, hay otra regla general utilizada para determinar el n\u00famero \u00f3ptimo de divisiones y podar el \u00e1rbol, que es error relativo + SE &lt; xerror.<\/p>\n<p>De los ejemplos anteriores se desprende que, seg\u00fan la regla \u00ab1-SE\u00bb, el n\u00famero \u00f3ptimo de divisiones es 2, ya que el valor de SE en nsplit=3 es mayor que el valor de SE en SE=2.<\/p>\n<p>Como regla general, el n\u00famero \u00f3ptimo de divisiones debe ser tomado como 3 porque en esta etapa, el error relativo + SE es menor que el xerror. La importancia de la variable se emite cuando ejecutamos el c\u00f3digo R para el \u00e1rbol recursivo.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;Raleway||||||||&#8221; text_text_color=&#8221;#ffffff&#8221; text_font_size=&#8221;15px&#8221; text_line_height=&#8221;1.9em&#8221; header_font=&#8221;Raleway||||||||&#8221; header_2_font=&#8221;Poppins|700|||||||&#8221; header_2_text_align=&#8221;left&#8221; header_2_text_color=&#8221;#000000&#8243; header_2_font_size=&#8221;36px&#8221; header_2_line_height=&#8221;1.2em&#8221; header_4_font=&#8221;Poppins|600|||||||&#8221; header_4_text_align=&#8221;left&#8221; header_4_text_color=&#8221;#0c5adb&#8221; header_4_font_size=&#8221;20px&#8221; header_4_line_height=&#8221;1.2em&#8221; background_color=&#8221;#000000&#8243; text_orientation=&#8221;justified&#8221; header_2_font_size_tablet=&#8221;&#8221; header_2_font_size_phone=&#8221;24px&#8221; header_2_font_size_last_edited=&#8221;on|phone&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<div class=\"code-embed-wrapper\">\n<pre class=\"language-cpp code-embed-pre line-numbers\" data-line=\"9,15\" data-start=\"1\" data-line-offset=\"0\"><code class=\"language-cpp code-embed-code\">\nRSI_Z PriceMA DJTrans_Osc Close.Open SP_Osc 35 23 17 13 13 <br \/>\n<\/code><\/pre>\n<\/div>\n<p>[\/et_pb_text][et_pb_text ul_type=&#8221;square&#8221; ul_position=&#8221;inside&#8221; ol_type=&#8221;decimal-leading-zero&#8221; ol_item_indent=&#8221;10px&#8221; _builder_version=&#8221;4.19.5&#8243; text_line_height=&#8221;1.5em&#8221; link_font=&#8221;|700|||||||&#8221; link_text_color=&#8221;#F53A71&#8243; ul_font=&#8221;||||||||&#8221; ul_font_size=&#8221;16px&#8221; ol_font_size=&#8221;16px&#8221; ol_line_height=&#8221;1.8em&#8221; quote_font=&#8221;TT Octosquares Medium||||||||&#8221; quote_text_align=&#8221;left&#8221; quote_text_color=&#8221;#210750&#8243; quote_font_size=&#8221;18px&#8221; header_2_text_align=&#8221;left&#8221; header_2_line_height=&#8221;1.2em&#8221; header_3_text_align=&#8221;left&#8221; header_3_text_color=&#8221;#7138DF&#8221; header_3_font_size=&#8221;24px&#8221; header_3_line_height=&#8221;1.2em&#8221; header_4_text_align=&#8221;left&#8221; header_4_text_color=&#8221;#7138DF&#8221; header_4_font_size=&#8221;22px&#8221; header_4_line_height=&#8221;1.2em&#8221; header_5_text_color=&#8221;#333333&#8243; header_5_font_size=&#8221;20px&#8221; header_6_text_color=&#8221;#333333&#8243; header_6_font_size=&#8221;18px&#8221; text_orientation=&#8221;justified&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Tambi\u00e9n tenemos mucha informaci\u00f3n sobre c\u00f3mo se dividen los nodos y utilizando qu\u00e9 valores cr\u00edticos. Esta informaci\u00f3n nos dice cu\u00e1nto ayuda cada divisi\u00f3n a la separaci\u00f3n de la clase de salida y a nivel de hoja nos da la precisi\u00f3n del sistema. Cada variable puede utilizarse varias veces en el mismo \u00e1rbol. Tambi\u00e9n realizamos un an\u00e1lisis de la distribuci\u00f3n de salida de nuestros datos. Por ejemplo, el 57% de los casos corresponden a la clase de salida \u00abcomprar\u00bb. Tambi\u00e9n crea una salida que puede traducirse en un \u00e1rbol (v\u00e9ase \u00ab\u00c1rbol del dinero\u00bb, m\u00e1s adelante).<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.quantifiedmodels.com\/wp-content\/uploads\/2022\/09\/MT_March_TraderTech_Money.jpg&#8221; alt=&#8221;Money Tree&#8221; title_text=&#8221;Money Tree&#8221; show_in_lightbox=&#8221;on&#8221; use_overlay=&#8221;on&#8221; overlay_icon_color=&#8221;#F53A71&#8243; hover_overlay_color=&#8221;rgba(33,7,80,0.6)&#8221; hover_icon=&#8221;&#xe054;||divi||400&#8243; align=&#8221;center&#8221; _builder_version=&#8221;4.19.5&#8243; width=&#8221;60%&#8221; width_tablet=&#8221;60%&#8221; width_phone=&#8221;60%&#8221; width_last_edited=&#8221;on|desktop&#8221; module_alignment=&#8221;center&#8221; custom_padding=&#8221;10px|20px|10px|20px|false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text ul_type=&#8221;square&#8221; ul_position=&#8221;inside&#8221; ol_type=&#8221;decimal-leading-zero&#8221; ol_item_indent=&#8221;10px&#8221; _builder_version=&#8221;4.19.5&#8243; text_line_height=&#8221;1.5em&#8221; link_font=&#8221;|700|||||||&#8221; link_text_color=&#8221;#F53A71&#8243; ul_font=&#8221;||||||||&#8221; ul_font_size=&#8221;16px&#8221; ol_font_size=&#8221;16px&#8221; ol_line_height=&#8221;1.8em&#8221; quote_font=&#8221;TT Octosquares Medium||||||||&#8221; quote_text_align=&#8221;left&#8221; quote_text_color=&#8221;#210750&#8243; quote_font_size=&#8221;18px&#8221; header_2_text_align=&#8221;left&#8221; header_2_line_height=&#8221;1.2em&#8221; header_3_text_align=&#8221;left&#8221; header_3_text_color=&#8221;#7138DF&#8221; header_3_font_size=&#8221;24px&#8221; header_3_line_height=&#8221;1.2em&#8221; header_4_text_align=&#8221;left&#8221; header_4_text_color=&#8221;#7138DF&#8221; header_4_font_size=&#8221;22px&#8221; header_4_line_height=&#8221;1.2em&#8221; header_5_text_color=&#8221;#333333&#8243; header_5_font_size=&#8221;20px&#8221; header_6_text_color=&#8221;#333333&#8243; header_6_font_size=&#8221;18px&#8221; text_orientation=&#8221;justified&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>La salida del c\u00f3digo tambi\u00e9n nos da todo tipo de informaci\u00f3n sobre la predicci\u00f3n de cada divisi\u00f3n y la cantidad de informaci\u00f3n que se obtiene. Este c\u00f3digo utiliza la funci\u00f3n rpart.plot, que da como resultado un bonito \u00e1rbol, con m\u00e1s detalles (v\u00e9ase \u00abRecorte del \u00e1rbol\u00bb, m\u00e1s adelante).<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.quantifiedmodels.com\/wp-content\/uploads\/2022\/09\/MT_March_TraderTech_Trimming.jpg&#8221; alt=&#8221;Trimming the Tree&#8221; title_text=&#8221;Trimming the Tree&#8221; show_in_lightbox=&#8221;on&#8221; use_overlay=&#8221;on&#8221; overlay_icon_color=&#8221;#F53A71&#8243; hover_overlay_color=&#8221;rgba(33,7,80,0.6)&#8221; hover_icon=&#8221;&#xe054;||divi||400&#8243; align=&#8221;center&#8221; _builder_version=&#8221;4.19.5&#8243; width=&#8221;60%&#8221; width_tablet=&#8221;60%&#8221; width_phone=&#8221;60%&#8221; width_last_edited=&#8221;on|desktop&#8221; module_alignment=&#8221;center&#8221; custom_padding=&#8221;10px|20px|10px|20px|false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text ul_type=&#8221;square&#8221; ul_position=&#8221;inside&#8221; ol_type=&#8221;decimal-leading-zero&#8221; ol_item_indent=&#8221;10px&#8221; _builder_version=&#8221;4.19.5&#8243; text_line_height=&#8221;1.5em&#8221; link_font=&#8221;|700|||||||&#8221; link_text_color=&#8221;#F53A71&#8243; ul_font=&#8221;||||||||&#8221; ul_font_size=&#8221;16px&#8221; ol_font_size=&#8221;16px&#8221; ol_line_height=&#8221;1.8em&#8221; quote_font=&#8221;TT Octosquares Medium||||||||&#8221; quote_text_align=&#8221;left&#8221; quote_text_color=&#8221;#210750&#8243; quote_font_size=&#8221;18px&#8221; header_2_text_align=&#8221;left&#8221; header_2_line_height=&#8221;1.2em&#8221; header_3_text_align=&#8221;left&#8221; header_3_text_color=&#8221;#7138DF&#8221; header_3_font_size=&#8221;24px&#8221; header_3_line_height=&#8221;1.2em&#8221; header_4_text_align=&#8221;left&#8221; header_4_text_color=&#8221;#7138DF&#8221; header_4_font_size=&#8221;22px&#8221; header_4_line_height=&#8221;1.2em&#8221; header_5_text_color=&#8221;#333333&#8243; header_5_font_size=&#8221;20px&#8221; header_6_text_color=&#8221;#333333&#8243; header_6_font_size=&#8221;18px&#8221; text_orientation=&#8221;justified&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h2>La Poda<\/h2>\n<p>La poda es una t\u00e9cnica utilizada para reducir el tama\u00f1o de un \u00e1rbol de decisi\u00f3n y conservar las contribuciones importantes en la clasificaci\u00f3n de instancias. Un \u00e1rbol demasiado grande puede provocar un sobreajuste de los datos y clasificar mal una nueva observaci\u00f3n. Si es demasiado peque\u00f1o, puede no contener toda la informaci\u00f3n estructural. El c\u00f3digo en R, incluye el c\u00f3digo de poda. El c\u00f3digo de poda eliminar\u00e1 dos hojas de 7 a 5 y mejorar\u00e1 la robustez del \u00e1rbol.<\/p>\n<p>Una matriz de confusi\u00f3n o matriz de error es una tabla que clasifica las predicciones en funci\u00f3n de si coinciden con los valores reales. Una de las direcciones de la tabla indica las posibles categor\u00edas de los valores predichos y la otra incluye categor\u00edas para otros valores. Cuando el valor predicho coincide con el valor original se denomina clasificaci\u00f3n correcta. \u00c9sta cae en la diagonal de la matriz de confusi\u00f3n. Los elementos fuera de la diagonal indican las predicciones incorrectas (v\u00e9ase \u00abEstad\u00edsticas de predicci\u00f3n\u00bb, a continuaci\u00f3n).<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.quantifiedmodels.com\/wp-content\/uploads\/2022\/09\/MT_March_TraderTech_Prediction.jpg&#8221; alt=&#8221;Prediction Statistics&#8221; title_text=&#8221;Prediction Statistics&#8221; show_in_lightbox=&#8221;on&#8221; use_overlay=&#8221;on&#8221; overlay_icon_color=&#8221;#F53A71&#8243; hover_overlay_color=&#8221;rgba(33,7,80,0.6)&#8221; hover_icon=&#8221;&#xe054;||divi||400&#8243; align=&#8221;center&#8221; _builder_version=&#8221;4.19.5&#8243; width=&#8221;60%&#8221; width_tablet=&#8221;60%&#8221; width_phone=&#8221;60%&#8221; width_last_edited=&#8221;on|desktop&#8221; module_alignment=&#8221;center&#8221; custom_padding=&#8221;10px|20px|10px|20px|false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text ul_type=&#8221;square&#8221; ul_position=&#8221;inside&#8221; ol_type=&#8221;decimal-leading-zero&#8221; ol_item_indent=&#8221;10px&#8221; _builder_version=&#8221;4.19.5&#8243; text_line_height=&#8221;1.5em&#8221; link_font=&#8221;|700|||||||&#8221; link_text_color=&#8221;#F53A71&#8243; ul_font=&#8221;||||||||&#8221; ul_font_size=&#8221;16px&#8221; ol_font_size=&#8221;16px&#8221; ol_line_height=&#8221;1.8em&#8221; quote_font=&#8221;TT Octosquares Medium||||||||&#8221; quote_text_align=&#8221;left&#8221; quote_text_color=&#8221;#210750&#8243; quote_font_size=&#8221;18px&#8221; header_2_text_align=&#8221;left&#8221; header_2_line_height=&#8221;1.2em&#8221; header_3_text_align=&#8221;left&#8221; header_3_text_color=&#8221;#7138DF&#8221; header_3_font_size=&#8221;24px&#8221; header_3_line_height=&#8221;1.2em&#8221; header_4_text_align=&#8221;left&#8221; header_4_text_color=&#8221;#7138DF&#8221; header_4_font_size=&#8221;22px&#8221; header_4_line_height=&#8221;1.2em&#8221; header_5_text_color=&#8221;#333333&#8243; header_5_font_size=&#8221;20px&#8221; header_6_text_color=&#8221;#333333&#8243; header_6_font_size=&#8221;18px&#8221; text_orientation=&#8221;justified&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Para la clase Comprar: Las clasificaciones correctas son (Tasa de verdaderos positivos) = 174\/205 = 0,8487. Esto tambi\u00e9n se conoce como sensibilidad. La clasificaci\u00f3n incorrecta se conoce como tasa de falsos positivos = 71\/158 = 0,4493.<\/p>\n<p>Para la clase Vender: Clasificaciones correctas (Tasa de verdaderos negativos) = 87\/158 = 0,5507. Esto tambi\u00e9n se conoce como especificidad. La clasificaci\u00f3n incorrecta se conoce como tasa de falsos negativos = 31\/205 = 0,1513.<\/p>\n<p>El aprendizaje autom\u00e1tico en el trading no es simplemente la novedad, sino una herramienta esencial para que los traders tengan \u00e9xito en los mercados actuales. Aqu\u00ed mostramos c\u00f3mo podemos utilizar los \u00e1rboles recursivos, en futuras entregas cubriremos m\u00e9todos que le ayudar\u00e1n a mantener su ventaja en la negociaci\u00f3n de los mercados.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8221;on&#8221; gutter_width=&#8221;1&#8243; make_equal=&#8221;on&#8221; _builder_version=&#8221;4.19.5&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; module_alignment=&#8221;center&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; custom_padding=&#8221;0px||0px||false|false&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.19.5&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_divider color=&#8221;#7138DF&#8221; divider_position=&#8221;center&#8221; divider_weight=&#8221;3px&#8221; _builder_version=&#8221;4.19.5&#8243; _module_preset=&#8221;default&#8221; width=&#8221;90%&#8221; max_width=&#8221;90%&#8221; module_alignment=&#8221;right&#8221; custom_margin=&#8221;10px||0px||false|false&#8221; custom_padding=&#8221;0px||0px||false|false&#8221; animation_style=&#8221;zoom&#8221; animation_direction=&#8221;right&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][et_pb_text _builder_version=&#8221;4.19.5&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;TT Octosquares Medium||||||||&#8221; text_text_color=&#8221;#7138DF&#8221; link_font=&#8221;TT Octosquares Medium|700|||||||&#8221; link_text_color=&#8221;#F53A71&#8243; text_orientation=&#8221;right&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; custom_padding=&#8221;0px||2px||false|false&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Art\u00edculo redactado por MURRAY A. RUGGIERO JR. <br \/>Publicado en la revista Futures\u00a0<\/p>\n<p>[\/et_pb_text][et_pb_cta title=&#8221;Canal de YouTube de Quantified Models&#8221; button_url=&#8221;https:\/\/www.youtube.com\/channel\/UC1aM_BnnBAWRSjiApHVGD5w&#8221; url_new_window=&#8221;on&#8221; button_text=&#8221;Mira nuestros videos&#8221; _builder_version=&#8221;4.19.5&#8243; _module_preset=&#8221;default&#8221; header_text_align=&#8221;center&#8221; header_text_color=&#8221;#75E1EE&#8221; header_font_size=&#8221;26px&#8221; body_font_size=&#8221;18px&#8221; background_color=&#8221;#210750&#8243; custom_button=&#8221;on&#8221; button_text_color=&#8221;#210750&#8243; button_bg_color=&#8221;#75E1EE&#8221; button_border_width=&#8221;0px&#8221; button_border_radius=&#8221;0px&#8221; button_font=&#8221;TT Octosquares Medium||||||||&#8221; button_icon=&#8221;&#xe04a;||divi||400&#8243; button_icon_color=&#8221;#FFFFFF&#8221; custom_margin=&#8221;20px||20px||false|false&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; button_bg_color__hover=&#8221;#F53A71&#8243; button_bg_color__hover_enabled=&#8221;on|desktop&#8221; button_bg_enable_color__hover=&#8221;on&#8221; button_text_color__hover=&#8221;#FFFFFF&#8221; button_text_color__hover_enabled=&#8221;on|hover&#8221;]<\/p>\n<p>En nuestro canal de YouTube tenemos varios videos disponibles que pueden resultarle muy \u00fatiles para desarrollar sistemas de trading.<\/p>\n<p>Esperamos que esta informaci\u00f3n te haya sido de utilidad.<\/p>\n<p>[\/et_pb_cta][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le mostraremos c\u00f3mo se puede utilizar lenguaje R y Python para desarrollar el aprendizaje autom\u00e1tico y tecnolog\u00edas de modelado de operaciones.<\/p>\n","protected":false},"author":1,"featured_media":265178,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","_ayudawp_aiss_exclude":false,"_ayudawp_aiss_summary":"","_ayudawp_aiss_summary_provider":"","_ayudawp_aiss_summary_hash":"","footnotes":""},"categories":[112,368],"tags":[335,317,435,340,361,437,337,336,300,347,363,364],"class_list":["post-266048","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lenguaje-r","category-python-es","tag-aprendizaje-automatico","tag-backtest-es","tag-codigo-es","tag-dinero","tag-herramienta","tag-lenguaje-r","tag-matriz","tag-mercado","tag-murray-ruggiero-es","tag-poda","tag-trader-es","tag-trading-es"],"_links":{"self":[{"href":"https:\/\/www.quantifiedmodels.com\/es\/wp-json\/wp\/v2\/posts\/266048","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.quantifiedmodels.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.quantifiedmodels.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.quantifiedmodels.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quantifiedmodels.com\/es\/wp-json\/wp\/v2\/comments?post=266048"}],"version-history":[{"count":0,"href":"https:\/\/www.quantifiedmodels.com\/es\/wp-json\/wp\/v2\/posts\/266048\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.quantifiedmodels.com\/es\/wp-json\/wp\/v2\/media\/265178"}],"wp:attachment":[{"href":"https:\/\/www.quantifiedmodels.com\/es\/wp-json\/wp\/v2\/media?parent=266048"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.quantifiedmodels.com\/es\/wp-json\/wp\/v2\/categories?post=266048"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.quantifiedmodels.com\/es\/wp-json\/wp\/v2\/tags?post=266048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}