75 votos

¿R está siendo reemplazado por Python en los escritorios cuánticos?

Sé que el título suena un poco extremo, pero me pregunto si R es eliminado por un montón de escritorios cuánticos en los bancos de venta lateral, así como los fondos de cobertura en favor de Python. Tengo la impresión de que con las mejoras en Pandas, Numpy y otros paquetes de Python la funcionalidad en Python está mejorando drásticamente para extraer de forma significativa datos y series temporales de modelos. También he visto implementaciones bastante impresionantes a través de Python para paralelizar el código y extender los cálculos a varios servidores/máquinas. Sé que algunos paquetes en R son capaces de eso también, pero siento que el impulso actual favorece a Python.

Necesito tomar una decisión sobre la arquitectura de un subconjunto de mi marco de modelación yo mismo y necesito algún aporte sobre cuál es el sentimiento actual por otros cuentos.

También tengo que admitir que mis reservas iniciales con respecto a la ejecución a través de Python están en su mayoría desactualizadas porque algunos de los paquetes hacen un uso intensivo de implementaciones C bajo el capó y he visto implementaciones que superan claramente incluso el código de lenguaje OOP escrito y compilado eficientemente.

¿Puede comentar lo que está usando? No estoy pidiendo opiniones sobre si crees que uno es mejor o peor para las tareas de abajo, sino específicamente por qué usas R o Python y si incluso las colocas en la misma categoría para realizar, entre otras, las siguientes tareas:

  • adquirir, almacenar, mantener, leer, limpiar series temporales
  • realizar estadísticas básicas sobre series temporales, modelos estadísticos avanzados como análisis de regresión multivariante,...
  • realizando cálculos matemáticos (transformadas de Fourier, solucionador de PDE, PCA, ...)
  • visualización de datos (estáticos y dinámicos)
  • derivados de precios (aplicación de modelos de precios como los modelos de tipos de interés)
  • interconexión (con Excel, servidores, UI, ...)
  • (Añadido en enero de 2016): Capacidad para diseñar, implementar y entrenar redes de aprendizaje profundo.

EDITAR Pensé que el siguiente enlace podría añadir más valor aunque está ligeramente anticuado [2013] (por alguna oscura razón esa discusión también se cerró...): https://softwareengineering.stackexchange.com/questions/181342/r-vs-python-for-data-analysis

También puede buscar varios mensajes en el sitio web de r-bloggers que tratan sobre la eficiencia computacional entre los paquetes R y Python. Como se trató en algunas de las respuestas, un aspecto es la poda de datos, la preparación y configuración de los datos de entrada. Otra parte de la ecuación es la eficiencia computacional cuando se realizan realmente cálculos estadísticos y matemáticos.

Actualización (Enero 2016)

Quería proporcionar una actualización de esta cuestión ahora que las redes de Inteligencia Artificial/Aprendizaje Profundo son perseguidas muy activamente en los bancos y los fondos de cobertura. He dedicado una buena cantidad de tiempo a profundizar en el aprendizaje profundo y he realizado experimentos y trabajado con bibliotecas como Theano, Torch y Caffe. Lo que destacó de mi propio trabajo y de las conversaciones con otros fue que muchas de esas bibliotecas se utilizan a través de Python y que la mayoría de los investigadores de este espacio no utilizan R en este campo en particular. Ahora, esto todavía constituye una pequeña parte del trabajo cuántico que se está realizando en los servicios financieros, pero todavía quería señalarlo ya que toca directamente la pregunta que hice. Añadí este aspecto de la investigación cuántica para reflejar las tendencias actuales.

0 votos

No estoy seguro pero definitivamente hay algunas aventuras para python en cuanto al desarrollo de paquetes en algunas áreas.

17 votos

Eres un miembro muy respetado de esta comunidad pero cada vez me da peor sensación esta pregunta. Uno de los ejemplos de preguntas que no queremos en este sitio es "¿Qué lenguaje de programación debo usar?" (quant.stackexchange.com/help/on-topic). Cuando se miran las discusiones en los comentarios se puede ver por qué: Cada vez son más polémicas, y parece que ya te has decidido. Creo que si alguien con menos reputación hubiera hecho esta pregunta se habría cerrado enseguida. Creo que lo mejor sería cerrar esta pregunta. ¿Ves mi punto de vista?

0 votos

@vonjd, no me he decidido, si no, no habría preguntado. Y debemos ser justos en reconocer que algunos en este sitio tienen un interés muy fuerte en inclinarse por R porque derivan una parte o toda su vida de escribir código R, de ahí su redacción bastante fuerte. Defiendo la pregunta porque la pregunta y, con suerte, las respuestas son, en mi opinión, muy relevantes para quienes trabajan en mesas de cálculo o, potencialmente, para quienes invierten muchas decenas, si no cientos, de miles de dólares en proyectos.

50voto

Andre Miller Puntos 182

Mi negocio es HFT así que lo que me importa es

  1. leer/cargar datos de un archivo o una base de datos rápidamente en la memoria
  2. realizar operaciones muy eficientes de manipulación de datos (agrupar, transformar)
  3. visualizar fácilmente los datos

Creo que está bastante claro que 3. va a R, gráficos y ggplot2 y otros permiten trazar cualquier cosa desde cero con poco esfuerzo.

Sobre 1. y 2. Me asombra leer los post anteriores para ver que la gente aboga por python basándose en pandas y que nadie cita tabla de datos Data.table es un paquete fantástico que permite agrupar/transformar rápidamente tablas con 10 millones de filas. En este banco puedes ver que data.table es varias veces más rápido que pandas y mucho más estable (pandas tiende a fallar en tablas masivas)

Ejemplo

R) library(data.table)
R) DT = data.table(x=rnorm(2e7),y=rnorm(2e7),z=sample(letters,2e7,replace=T))
R) tables()
     NAME       NROW NCOL  MB COLS  KEY
[1,] DT   20,000,000    3 458 x,y,z    
Total: 458MB
R) system.time(DT[,.(sum(x),mean(y)),.(z)])
   user  system elapsed 
  0.226   0.037   0.264 

R)setkey(DT,z)
R)system.time(DT[,.(sum(x),mean(y)),.(z)])
  user  system elapsed 
  0.118   0.022   0.140 

Luego está la velocidad, como trabajo en HFT ni R ni python se pueden usar en producción. Pero el Rcpp le permite escribir código C++ eficiente e integrarlo en R de forma trivial (añadiendo literalmente 2 líneas). Dudo que R esté desapareciendo, dado el número de paquetes nuevos que se crean cada día y el impulso que tiene el lenguaje...

EDITAR 2018-07

Unos años después, me sorprende cómo ha evolucionado el ecosistema de R. Para el cómputo en memoria tienes herramientas inigualables, desde fst para una lectura/escritura binaria ultrarrápida, fork o paralelismo en cluster en one liners. La integración de C++ es increíblemente fácil con Rcpp. Obtienes gráficos interactivos con los clásicos como plotly, características locas como ggplotly (sólo hace tu ggplot2 interactivo). Por probar python con pandas sinceramente no entiendo como puede haber siquiera una coincidencia. La sintaxis es torpe y el rendimiento es pobre, debo estar demasiado acostumbrado a R supongo. Otra cosa que realmente falta en python es la programación litera, nada se acerca a rmarkdown (lo mejor que pude encontrar en python fue jupyter pero eso ni siquiera se acerca). Con todo el alboroto que rodea a la guerra del lenguaje R vs Python me doy cuenta de que la gran mayoría de la gente está simplemente desinformada, no saben lo que es data.table, que no tiene nada que ver con un data.frame, no saben que R soporta completamente tensorflow y keras.... Para concluir creo que ambas herramientas pueden hacer de todo y parece que el lenguaje python tiene muy buenas relaciones públicas....

2 votos

Hmm, creo que tengo que estar en desacuerdo con usted en lo que respecta a las visualizaciones. Los paquetes de R están todavía a años luz de la visualización eficiente y especialmente dinámica. Cualquier estudiante de informática de primer año puede trazar una serie temporal desde cero. Lo que la gente quiere y necesita es la visualización de millones de puntos de datos que una aplicación de gráficos puede muestrear. Rápido zoom y paneo y manejo de anotaciones. No he visto nada en R que se acerque remotamente.

1 votos

En segundo lugar, las tablas de datos en R son muy, muy lentas. Si se le añaden unos cuantos millones de puntos de datos de series temporales, los marcos de datos se ponen de rodillas. La única cosa que he visto que era rápida era una implementación que utilizaba el mapeo de la memoria. Pero se podría argumentar que esto es sólo una interfaz de R peruse ... tan pronto como usted realmente tomar los datos y ejecutar las funciones de R sobre ella se vuelve muy lento. Advertencia aquí: No he mirado ningún nuevo desarrollo en los últimos 8 meses en el espacio de R. Si hay algo nuevo me gustaría que me lo indicaran.

0 votos

Y cuando se habla de que algo se cuelga, entonces el problema radica en que se ha proporcionado incorrectamente el formato de entrada requerido. Lo mismo puede ocurrir en los lenguajes OOP, Python y R.

32voto

S S Puntos 8975

En lugar de hacer conjeturas sobre el futuro de R/python en la comunidad, he aquí algunos hechos:

La siguiente consulta en StackExchange Data Explorer cuenta el número de preguntas que tienen <r> o <python> etiquetas. Si se desplaza hacia abajo en una de las tres páginas web proporcionadas a continuación, puede ver un gráfico con datos sobre una base mensual. También puede realizar esta consulta en las bases de datos de otros sitios (sólo tiene que ir a "Cambiar de sitio" justo debajo de la consulta).

estadísticas http://data.stackexchange.com/stats/query/350129/r-versus-python-tags#graph

pila http://data.stackexchange.com/stackoverflow/query/350129/r-versus-python-tags#graph

quant http://data.stackexchange.com/quant/query/350129/r-versus-python-tags#graph

Los resultados:

  • En términos absolutos, R tiene más aciertos para ambos stats.stackexchange.com y quant.stackexchange.com (este último con muy pocos datos). Python tiene más aciertos para stackoverflow.com .

  • En términos relativos, la brecha entre R y python se está cerrando para stackoverflow.com (proporción aproximada de 1 a 3 en este momento). La relación entre las etiquetas R y python en stats.stackexchange.com es más o menos estable desde mediados/finales de 2013 (aproximadamente un factor 10 o un poco más).

Realmente creo que las estadísticas de las etiquetas en el universo de stackexchange son un buen indicador de la actual interés por un determinado lenguaje de programación, probablemente incluso más por su futuro popularidad.

En general, estoy seguro de que los datos actuales son un argumento sólido contra la hipótesis de Matt Wolf de que "R podría ser obsoleto en 3-4 años" . ;)


Actualización: Ya han pasado 6 meses desde mi respuesta inicial. Todavía tenemos que esperar otros 2,5-3,5 años para ver definitivamente si R se ha quedado obsoleto :) Mientras tanto, una rápida adición debido al comentario de Matt Wolf. Aquí hay variaciones de las consultas anteriores que dan los ratios de las etiquetas (a eso me he referido en el segundo punto de mi respuesta). Todos los ratios son etiquetas de python divididas por etiquetas de R.

estadísticas

http://data.stackexchange.com/stats/query/421036/r-versus-python-tags-quotient-py-r#graph

No veo una tendencia clara aquí. El ratio Py/R está en torno a 0,07 (aunque hubo un pico de 0,095 en noviembre). Desde mediados de 2013, la relación varía entre 0,04 y 0,11. Así que yo lo llamaría relativamente estable.

SO

http://data.stackexchange.com/stackoverflow/query/421032/r-versus-python-tags-quotient-py-r#graph

En efecto, desde el 15 de julio se observa una tendencia a corto plazo a favor de Python (la relación Py/R pasó de 3,1 a 3,5). Así que la afirmación de que "R está cerrando la brecha con respecto a la relación Py/R" podría considerarse obsoleta en este momento.

quant

http://data.stackexchange.com/quant/query/421042/r-versus-python-tags-quotient-py-r#graph

Sigue siendo muy ruidoso. Parece que Python se ha recuperado un poco en los últimos meses. Pero es difícil decirlo con tan pocos datos.

12 votos

Tres hurras y un voto arriba para traer empíricos en una década llena de conjeturas.

0 votos

@cryo111, no estoy seguro de llamar a esto estable, los diferenciales de las etiquetas han aumentado continuamente desde la fecha de inicio de su consulta. Además, StackExchange no parece ser la principal plataforma de intercambio para los usuarios avanzados de Python. No lo he mencionado en mi post original pero la mayoría de los trabajos de investigación en IA (ML y especialmente Redes de Aprendizaje Profundo) se realizan con Python como envoltura, todas las herramientas principales como Theano o Torch proporcionan Python pero no librerías R. Así que me mantengo en mi hipótesis, que me parece incluso reforzada hoy frente a hace 7 meses.

2 votos

@MattWolf En mi post anterior, me he referido al ratio de etiquetas. Tal vez no he sido claro con eso. Añadiré 3 consultas más para los ratios. Con respecto a esto, las cosas parecen relativamente estables (aparte de quant.stackexchange donde el volumen es bajo y por lo tanto muy ruidoso). ¿Cuál es la principal plataforma para los usuarios de python? No soy un programador de python, así que no lo sé para ser honesto. Pero estoy de acuerdo contigo en que R probablemente no superará a python en cuanto a número de usuarios absolutos [lo que nunca he pretendido :)].

26voto

penti Puntos 93

Esto es interesante porque veo otra tendencia: Matlab está siendo reemplazado por R, pero supongo que esta es otra historia.

Utilizo R para mi trabajo académico (también estoy enseñando esta materia) así como para mi trabajo de consultoría (estoy trabajando principalmente en el $\mathbb{P}$ zona, con algunas excursiones a $\mathbb{Q}$ ). Probé con Python pero no me funcionó. Creo que las principales razones por las que me quedaré con R son:

  • especialmente en el ámbito de la estadística y la analítica existe tal cantidad de paquetes de alta calidad con métodos a veces incluso muy recientes que no tiene rival en ningún otro lenguaje.
  • Para mí, R tiene la mezcla adecuada de capacidades de bajo nivel de, por ejemplo, (re)organización de datos y comandos de alto nivel (por ejemplo, incluso k-means en el paquete principal)
  • la velocidad está bien para mí porque no estoy trabajando en el área de HFT y hay muchas posibilidades de acelerar el código (vectorización, paralelización, buena conectividad con C asf)
  • la comunidad está realmente muy metida en el tipo de cosas que me interesan mientras que con Python es realmente todo el mundo y su perro haciendo todo tipo de cosas que no me interesan... Supongo que también se trata de la mentalidad de cómo abordar algunos problemas, no lo sé.

Creo que en general hay que centrarse: yo no trataría de construir una página web o un juego con R, pero cuando se trata de estadísticas y análisis creo que Python no es un competidor real y recomendaría encarecidamente R como su futura configuración.

Editar
También escribí una entrada en el blog con puntos adicionales sobre por qué R es más adecuado para la ciencia de datos que Python: http://blog.ephorie.de/why-r-for-data-science-and-not-python

0 votos

Estoy de acuerdo en que los paquetes disponibles que pertenecen a las estadísticas, las matemáticas y las matemáticas financieras son bastante numerosos en R. Aunque la tasa actual de nuevos paquetes que se dirigen a las áreas anteriores parece ser mucho mayor en Python que en R en estos días. Tengo la impresión de que R podría ser obsoleto en 3-4 años debido a las muchas cosas que se hacen o se portan a Python en este momento y eso es lo que me hizo hacer esta pregunta, para evaluar si otros comparten esas observaciones. Gracias por tu opinión al respecto.

18 votos

Tengo la impresión de que R podría estar obsoleta en 3-4 años. Me pongo del otro lado en esa apuesta. De hecho, miro qué paquetes se añaden cada día y no veo esto como un estancamiento en absoluto.

0 votos

Yo también aceptaría la otra parte de la apuesta, Matt. Estas cosas llevan mucho tiempo. La última vez que lo comprobé, muchos de nuestros hermanos académicos seguían enamorados de Fortran. Con toda seriedad, sin embargo, R está vivo y creciendo, sólo que tal vez no sea el mejor para el caso de uso más amplio que describes arriba.

23voto

Ngoc Pham Puntos 171

He utilizado tanto R como Python con Pandas en un trabajo financiero cuantitativo profesional para realizar proyectos a gran y pequeña escala. Recomendaría encarecidamente Python con Pandas sobre R para la mayoría de los nuevos proyectos en el campo, especialmente en el análisis de series temporales.

Aunque no discuto a vonjd en el sentido de que encontrarás más bibliotecas en R con algoritmos en la vanguardia de la investigación estadística, las bibliotecas en Python son muy robustas y están muy desarrolladas en esa área. Además, encuentro en mi trabajo y en el de mis colegas que estamos cogiendo bibliotecas de ingeniería eléctrica, visión por ordenador, big data y más. La gente de estos campos tiene en su mayoría bibliotecas en Python, no en R.

Sin embargo, la principal ventaja de Python sobre R en este campo es el flujo de trabajo. El flujo de trabajo con R solía consistir en utilizar Perl/Python para la limpieza de los datos y la preparación de la base de datos, ya que R era demasiado lento e incómodo para los grandes conjuntos de datos complicados, aunque esto está mejorando. Luego se construía el modelo estadístico en R aprovechando sus bibliotecas. Después, el modelo de R se reescribía en C para obtener velocidad, control, interfaz, paralelización y gestión de errores para la producción.

Python puede manejar este flujo de trabajo completo de principio a fin. Todos los pasos de interconexión que rodean a los principales proyectos de investigación son mucho más robustos y se ahorra mucho tiempo en el desarrollo al utilizar el mismo lenguaje en todo momento. Además, con Pandas la parte de investigación principal y el manejo de los datos es ahora más fácil y limpio en mi opinión.

En general, si sólo te centras en la estadística avanzada/la investigación de series temporales de minería de datos, entonces R y Python con Pandas son intercambiables, al menos por ahora. Sin embargo, parece que por tu pregunta también te preocupa la interconectividad y la arquitectura, para lo cual Python es muy superior.

Editar para el 2018: Es increíble lo fácil que es entrar en la munición de datos en Python hoy en día en comparación con cuando escribí esto por primera vez. Pruebe Anaconda para aquellos que quieran conocer Python/Pandas sin complicaciones.

1 votos

Sí, esa es otra tendencia que estoy viendo, para el análisis de series temporales muchos cursos académicos hoy en día parecen haber cambiado de R a Python como herramienta de enseñanza y demostración. No estoy generalizando, pero muchos de los estudiantes de maestría que entrevisté recientemente parecen tener un mejor dominio de Python que de R. Pero una cosa que hace que todavía no quiera abrazar completamente a Python es: ¿Qué bibliotecas hay exactamente que ayudan en el análisis de series de tiempo, la fijación de precios de los derivados, el modelado, la aplicación de técnicas de aprendizaje automático aparte de los paquetes generalizados Pandas, SciPy, ...?

2 votos

En cuanto a las estadísticas, Python no tiene tanto desarrollo como R en esos frentes, pero statsmodels es mi goto. Una opción es simplemente llamar a las funciones de R con Python (RPy, pero aparentemente no está bien probado con Windows). En cuanto a los derivados, pyql parece estar más desarrollado que la versión de R. En cuanto al aprendizaje automático, scikit.learn. Otra ventaja de Python es que iPython Notebook es mejor que Rstudio. Sin embargo, el proyecto Jupyter parece interesante (y debería funcionar con R).

0 votos

@rhaskett, con respecto a la interconectividad, creo que es extremadamente importante ser capaz de interactuar eficientemente con otros módulos, hardware, aplicaciones de software. Creo que es un mito que la mayoría de los que realizan seriamente análisis de datos no necesitan interconectividad. En este sentido, creo que Python es mucho más capaz y proporciona medios más eficientes para, por ejemplo, distribuir los cálculos a otras instancias de hardware.

13voto

Dave Puntos 28

Para el análisis de datos, en particular para los grandes proyectos de análisis de datos, casi la mayoría de los principales fondos de cobertura quant y muchos de los bancos están utilizando Python (en lugar de R) por un par de razones, pero muchos todavía tienen trozos de R para paquetes o funciones específicas (yo trabajo en un banco y la interfaz con un buen número de fondos de cobertura quant en el análisis de datos):

  1. El anterior Python 2 solía tener muchos problemas de retrocompatibilidad, pero Python 3 es más estable entre versiones. Incluso las versiones de Pandas desde 0.13 son muy estables entre versiones. Nadie quiere usar un lenguaje para el que tenga que revisar y reescribir códigos significativos en algún momento en el futuro.

  2. La gente necesitaba los mismos códigos para funcionar tanto en Linux como en Windows. Instalar y compilar paquetes en Python puede ser un gran dolor, tanto en Linux como en Windows. Mucha gente no quería hacer ningún proyecto nuevo en Python 2, ya que en algún momento en el futuro habría que pasar a Python 3 y se quedaron con R durante bastante tiempo. Además, durante un tiempo, Python 3 sólo estaba disponible con la distribución WinPython y WinPython sólo funcionaba en Windows. Anaconda, que es la principal distro de Python para Linux (y Mac), salió con soporte para Python 3 en algún momento de 2014, lo que provocó una gran migración.

Ventajas de Python (frente a R):

(i) La velocidad bruta es el mayor motivo (permite hacer mucho más análisis de datos estadísticos en el mismo tiempo)

(ii) Pandas puede leer archivos csv muy rápidamente (una de las razones por las que mucha gente se pasó de Matlab a R en algún momento)

(iii) Cython es más flexible que RCpp (al menos en mi experiencia)

(iv) organizar los archivos de código ordenadamente en directorios lógicos y clases dentro de los archivos (las clases en R son un descuido) y el proyecto se ve mucho mejor

(v) A partir de 2015, PyCharm es un IDE significativamente mejor que RStudio (aunque RStudio es mejor que Spyder). Las herramientas importan

Desventajas de Python (frente a R):

(i) El gran problema de Pandas solía ser que no tenía su propio formato de datos binarios. El formato RData de R es una gran ventaja. El almacenamiento basado en HDF5 de PyData no es fácilmente comprimible, da muchos errores de vez en cuando, y para los big data era un estorbo. Pickle, y otros formatos no acababan de cuajar. Después de años de exploración Python-vs-R, la mayoría terminó escribiendo su propio formato de datos binarios personalizado (para almacenar el marco de datos de Pandas) o utilizando modificaciones significativas de PostgreSQL para el almacenamiento de big data.

Los paquetes estadísticos son, por lo general, estupendos con ambos idiomas.

Tengo proyectos en R que tardaban 4 horas en ejecutarse cada día (durante la noche). Ahora, en Python, tardan un total de 20 minutos (con mucho menos uso de códigos de Cython que de RCpp en R). Esa es la diferencia de velocidad para ti.

Para responder a su pregunta:

  • Adquirir, almacenar, mantener, leer y limpiar series temporales: Python es mejor

  • realizar estadísticas básicas sobre series temporales, modelos estadísticos avanzados como análisis de regresión multivariante, etc.: tanto en Python como en R

  • Realización de cálculos matemáticos (transformadas de Fourier, solucionador de PDE, PCA) visualización de datos (estáticos y dinámicos): tanto en Python como en R

    • valoración de derivados (aplicación de modelos de fijación de precios, como los modelos de tipos de interés): tanto en Python como en R

    • interconectividad (con Excel, servidores, UI): Python es mejor

0 votos

Gracias por compartir tu experiencia y aportar los pros y los contras, agradezco que se comparta el pensamiento equilibrado. Aunque con respecto a la compatibilidad con versiones anteriores, ¿Python 3.x no rompe la compatibilidad con versiones anteriores? Y en términos de las características matemáticas y estadísticas de los paquetes, R claramente todavía tiene la ventaja aquí, imho. Al mismo tiempo, sin embargo, no veo mucho valor en el 90%+ de los paquetes de R porque se dirigen a un enfoque estadístico muy específico y la implementación no está modularizada y no es extensible, por lo que la funcionalidad sigue siendo muy limitada, casi al grado de uso único.

1 votos

Si migras de R a Python 3.x, tienes menos que preocuparte por la compatibilidad con versiones anteriores, pero si migras de R a Python 2.x, tendrás que preocuparte por la compatibilidad con versiones anteriores si más tarde decides cambiar de Python 2.x a Python 3.x

1 votos

Además, con respecto a los paquetes de R o los paquetes de Python, muchas cosas del mundo real implican modificaciones que los paquetes estándar no pueden manejar. Por ejemplo, digamos que si quieres crear un ICA o PCA negociable a partir de series de tiempo negociables (por ejemplo, series de tiempo de precios de acciones o precios de futuros), querías un ICA ponderado por liquidez o un PCA ponderado por liquidez para evitar que los principales factores del ICA o PCA cargaran algunas acciones de baja capitalización, etc. Por lo tanto, terminará buscando los códigos fuente de ICA o PCA en R o Python y reescribirá sus propios códigos

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X