{"id":1845,"date":"2026-04-07T13:10:42","date_gmt":"2026-04-07T11:10:42","guid":{"rendered":"https:\/\/intsight.com\/?p=1845"},"modified":"2026-04-07T13:10:42","modified_gmt":"2026-04-07T11:10:42","slug":"mejoras-importantes-en-austra","status":"publish","type":"post","link":"https:\/\/intsight.com\/index.php\/2026\/04\/07\/mejoras-importantes-en-austra\/","title":{"rendered":"Mejoras importantes en Austra"},"content":{"rendered":"<p><span style=\"font-variant:small-caps;font-size:107%\">Despu\u00e9s de un largo<\/span> <em>impasse<\/em>, provocado por un proyecto complicado, volvemos a la carga con Austra.<\/p>\n<p>Primero, las labores t\u00edpicas de mantenimiento: migrar a .NET 10, comprobar que todo sigue bien, corregir alg\u00fan error y simplificar el analizador sint\u00e1ctico.<\/p>\n<p>Luego, hemos implementado por completo los vectores y secuencias de fechas. Vamos a a\u00f1adir m\u00e1s funcionalidad en las siguientes versiones, como el movimiento de fechas por d\u00edas festivos, calendarios de d\u00edas festivos. Mi idea es poder usar directamente Austra para generar cupones para productos financieros como bonos y <em>swaps<\/em>. Eso ya es posible usando directamente la librer\u00eda, pero se puede simplificar su uso desde el lenguaje.<\/p>\n<p>Finalmente, la novedad m\u00e1s importante en la versi\u00f3n que estoy preparando es la posibilidad de leer vectores, series y matrices desde un fichero CSV. Esto es importante para reducir la dependencia actual de la aplicaci\u00f3n (no de la librer\u00eda ni del lenguaje) de un fichero <em>data.austra<\/em>. En realidad, la idea siempre ha sido poder usar adaptadores configurables para leer series desde una fuente de datos financieros elegida por el usuario. El problema es que la principal fuente gratuita est\u00e1 en ca\u00edda libre (no mencionar\u00e9 nombres) y las restantes cobran una pasta considerable por la suscripci\u00f3n. Sin esto, el uso pr\u00e1ctico de la aplicaci\u00f3n se limita bastante. Al poder leer series, vectores y matrices desde ficheros CSV, hacemos posible inicializar Austra desde un script inicial, que se podr\u00eda incluso ejecutar autom\u00e1ticamente, sin abandonar la posibilidad de cargar luego un <em>data.austra<\/em>.<\/p>\n<p>Y si finalmente me compro un port\u00e1til con procesador ARM, mirar\u00e9 cu\u00e1n simple o complicado ser\u00eda ampliar la funcionalidad de procesamiento vectorial a este modelo. Sospecho que buena parte ya funcionar\u00eda casi autom\u00e1ticamente, al realizar buena parte de la optimizaci\u00f3n con las \u00faltimas clases de .NET. Pero hay que comprobarlo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Despu\u00e9s de un largo impasse, provocado por un proyecto complicado, volvemos a la carga con Austra. Primero, las labores t\u00edpicas de mantenimiento: migrar a .NET 10, comprobar que todo sigue bien, corregir alg\u00fan error y simplificar el analizador sint\u00e1ctico. Luego, hemos implementado por completo los vectores y secuencias de fechas. Vamos a a\u00f1adir m\u00e1s funcionalidad [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1849,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[92],"tags":[73,122,121],"class_list":["post-1845","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-austra","tag-austra","tag-csv","tag-series"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/intsight.com\/wp-content\/uploads\/2026\/04\/osta.png?fit=500%2C500&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/posts\/1845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/comments?post=1845"}],"version-history":[{"count":4,"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/posts\/1845\/revisions"}],"predecessor-version":[{"id":1851,"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/posts\/1845\/revisions\/1851"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/media\/1849"}],"wp:attachment":[{"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/media?parent=1845"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/categories?post=1845"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/intsight.com\/index.php\/wp-json\/wp\/v2\/tags?post=1845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}