Convergencia post-COVID: 1 BITCOIN y 1kg de ORO

por Vitaliy Kaurov
Publicación original

Introducción

El oro se dispara el 8 de octubre de 2025. Dado que actualmente podemos comprar una barra de oro en COSTCO, pensé en demostrar mi observación reciente sobre cómo ver el oro en diferentes unidades: kilogramos. Esas no se pueden comprar en COSTCO, pero son un “estándar dorado” (el juego de palabras es intencionado) y, notablemente, su precio ha estado oscilando bastante al compás de 1 Bitcoin recientemente. Usualmente la gente no nota esto porque, de manera estándar, el oro se cotiza para una unidad de masa mucho menor.
He notado que el precio del bitcoin ha sido aproximadamente el precio de 1 kg de oro durante el último año. Esto puede verificarse fácilmente en Wolfram Alpha:

In[]:=
1kg gold price / bitcoin
Result
1.021
Out[]=
1.021
O simplemente revisando en línea:
https://wolfr.am/GOLD-BTC
El precio del oro se da de manera estándar por el valor de una onza troy, equivalente a aproximadamente 31 gramos:
In[]:=
UnitConvert
,"Grams"//N
Out[]=
31.1035
g
Por lo tanto, cuando se lista el precio del oro, no resulta inmediatamente obvio cuál es el valor de 1 kg de oro, a menos que se haga la conversión de unidades.

Aumento actual del oro

◼
  • Los futuros del oro superan los 4000 dólares por onza por primera vez
  • ◼
  • https://apnews.com/article/gold-record-price-silver-shutdown-fbe2b3c43780923569a7b5db1a55f06b
  • ◼
  • El oro supera los 4000 dólares por primera vez impulsado por el cierre del gobierno de EE. UU.
  • ◼
  • https://finance.yahoo.com/news/gold-tops-4-000-first-020751070.html
  • ◼
  • Los inversionistas ansiosos empujan el oro por encima de los 4000 dólares la onza por primera vez
  • ◼
  • https://www.nytimes.com/2025/10/06/business/gold-price-us-economy.html
  • Importación de datos

    Comencemos importando datos de bitcoin (BTC) valorados en dólares estadounidenses:
    In[]:=
    FinancialData["BTC/USD",{2015},Method->"Legacy"]​​BTCdata=TimeSeries@%
    Out[]=
    {{{2015,1,1},320.035},{{2015,1,2},315.255},{{2015,1,3},315.415},{{2015,1,4},288.175},{{2015,1,5},264.945},{{2015,1,6},273.957},{{2015,1,7},282.556},{{2015,1,8},292.251},{{2015,1,9},285.659},{{2015,1,10},293.655},{{2015,1,11},276.135},{{2015,1,12},269.615},{{2015,1,13},269.715},{{2015,1,14},234.2},
    ⋯3829⋯
    ,{{2025,9,26},109588.},{{2025,9,27},109416.},{{2025,9,28},110247.},{{2025,9,29},113679.},{{2025,9,30},112913.},{{2025,10,1},117691.},{{2025,10,2},119781.},{{2025,10,3},122227.},{{2025,10,4},121742.},{{2025,10,5},123431.},{{2025,10,6},125405.},{{2025,10,7},121718.},{{2025,10,8},123057.}}
    Full expression not available
    (
    original memory size:
    0.7 MB)
    Out[]=
    TimeSeries
    Time:
    01 Jan 2015
    to
    08 Oct 2025
    Data points: 3856
    
    Como mencioné antes, los datos de precios del oro importados generalmente se dan por el valor de una onza troy de oro, el cual es equivalente a 31 gramos aproximadamente.
    Para convertir el precio de 1 kg de oro, necesitamos calcular el factor de multiplicación de manera proporcional a la razón de las masas:
    In[]:=
    N
    1
    kg
    
    1
    oz t
    
    Out[]=
    32.1507
    Por lo tanto, los datos del precio para 1 kg de oro se obtienen como:
    In[]:=
    FinancialData["XAU/USD",{2015},Method->"Legacy"];​​MapAtN
    1
    kg
    
    1
    oz t
    #&,%,{All,2}​​GoldData=TimeSeries@%
    Out[]=
    {{{2015,1,1},38031.8},{{2015,1,2},37664.6},{{2015,1,3},38243.6},{{2015,1,5},38547.1},{{2015,1,6},38900.8},{{2015,1,7},38981.2},{{2015,1,8},39084.1},{{2015,1,9},39084.1},{{2015,1,10},39324.5},{{2015,1,12},39432.9},{{2015,1,13},39733.5},{{2015,1,14},39775.3},{{2015,1,15},40387.8},
    ⋯3646⋯
    ,{{2025,9,27},120882.},{{2025,9,28},121113.},{{2025,9,29},123231.},{{2025,9,30},124196.},{{2025,10,1},124215.},{{2025,10,2},124182.},{{2025,10,3},124960.},{{2025,10,4},124960.},{{2025,10,5},125696.},{{2025,10,6},127624.},{{2025,10,7},128424.},{{2025,10,8},128984.}}
    Full expression not available
    (
    original memory size:
    0.7 MB)
    Out[]=
    TimeSeries
    Time:
    01 Jan 2015
    to
    08 Oct 2025
    Data points: 3671
    
    Finalmente, la representación gráfica se calcula como:
    In[]:=
    DateListPlot[{GoldData,BTCdata},PlotTheme->"Detailed"]
    Out[]=

    Métodos de datos alternativos: Entity Framework y más

    Entity Framework es otro excelente método para obtener datos financieros. Consideremos este código que extrae los datos del oro de una manera diferente:
    In[]:=
    Entity["Element","Gold"][​​Dated[EntityProperty["Element","Price"],​​DateInterval[{{2015},Today}]]]
    Out[]=
    TimeSeries
    Time:
    01 Jan 2015
    to
    07 Oct 2025
    Data points: 3663
    
    Debidamente formateado, se ve compacto y agradable:
    In[]:=
    gold
    ELEMENT
    Dated
    price
    ,DateInterval
    Beginning: Thu 1 Jan 2015
    Through: Thu 7 Mar 2024
    
    Out[]=
    TimeSeries
    Time:
    01 Jan 2015
    to
    07 Mar 2024
    Data points: 3091
    
    Para bitcoin, podemos usar otro método alternativo,
    CurrencyConvert
    , el cual utiliza información de tasas de cambio proporcionada por
    FinancialData
    para la conversión entre unidades monetarias.
    In[]:=
    CurrencyConvert["BTC","USDollars",{{2015},Today}]
    Out[]=
    TimeSeries
    Time:
    01 Jan 2015
    to
    07 Oct 2025
    Data points: 3848
    

    Diseño final de los gráficos

    In[]:=
    header=Style["Post-COVID Convergence: 1 Bitcoin and 1kg Gold",43,GrayLevel[.9],FontFamily->"DIN Condensed"];​​sub1=Style["🔒 GOLD: safety asset 🔥 BITCOIN: risk asset",20,GrayLevel[.75],FontFamily->"Georgia"];​​sub2=Style[" 🦋 Is perception changing?",20,GrayLevel[.75],FontFamily->"Georgia"];​​footer1=Style["Data | Tools: WOLFRAM Language",15,GrayLevel[.5],FontFamily->"Verdana"];​​footer2=Style["𝕏.com/SUPERFLOW",15,GrayLevel[.5],FontFamily->"Verdana"];​​​​Framed​​Column​​header,Row[{sub1,sub2}],"",​​DateListPlot{GoldData,BTCdata},​​PlotTheme->"Detailed",​​PerformanceGoal->"Speed",​​PlotStyle->
    ,
    ,​​FrameStyle->GrayLevel[.75],​​BaseStyle->19,​​ImageSize->700,​​AspectRatio->.55GoldenRatio,​​FrameTicks->{{{{40000,"40K"},{80000,"80K"},{120000,"120K"}},None},{Automatic,None}},​​PlotLegends->Placed[Style[#,21,GrayLevel[.75],FontFamily->"Copperplate"]&/@{"Gold, 1kg, USD","Bitcoin, BTC, USD"},{Left,Top}],​​Epilog->​​Text[Style["COVID",21,GrayLevel[.75],FontFamily->"Copperplate"],{AbsoluteTime[{2020,3,11}],105000},{Left,Bottom}],​​
    ,Thickness[.005],Arrow[{{AbsoluteTime[{2020,3,11}],105000},{AbsoluteTime[{2020,3,11}],60000}}]​​,​​DateListPlot{GoldData,BTCdata},​​PlotTheme->"Detailed",​​PerformanceGoal->"Speed",​​PlotStyle->
    ,
    ,​​BaseStyle->19,​​FrameStyle->GrayLevel[.75],​​ImageSize->700,​​AspectRatio->.55GoldenRatio,​​FrameTicks->{{{{40000,"40K"},{80000,"80K"},{120000,"120K"}},None},{Automatic,None}},​​PlotRange->{{{2020,1,1},Now},All},​​Epilog->
    ,Thickness[.005],Arrow[{{AbsoluteTime[{2020,3,11}],105000},{AbsoluteTime[{2020,3,11}],60000}}]​​,​​DateListPlotBTCdataGoldData,​​PlotTheme->"Detailed",​​PerformanceGoal->"Speed",​​PlotStyle->Cyan,​​BaseStyle->19,​​FrameStyle->GrayLevel[.75],​​PlotStyle->Red,​​ImageSize->700,​​Filling->1,​​AspectRatio->.55GoldenRatio,​​FrameTicks->{{{.2,.6,1,1.4},None},{Automatic,None}},​​PlotRange->{{{2020,1,1},Now},{0,1.4}},​​FrameLabel->{None,Style["",0]},​​PlotLegends->Placed[Style["1 BTC / 1kg GOLD, in USD",GrayLevel[.9],21,FontFamily->"Copperplate"],{Left,Top}],​​Epilog->​​{Green,Dashed,Thickness[.005],Line[{{AbsoluteTime[{2010,3,11}],1},{AbsoluteTime[{2030,3,11}],1}}]},​​
    ,Thickness[.005],Arrow[{{AbsoluteTime[{2020,3,11}],.7},{AbsoluteTime[{2020,3,11}],.3}}],​​"",​​Row[{footer1,Spacer[300],footer2}]​​,Alignment->Center,​​Background->Black,FrameMargins10

    CITE ESTE CUADERNO

    Convergencia post-COVID: 1 BITCOIN y 1kg de ORO​
    por Vitaliy Kaurov
    Comunidad Wolfram, STAFF PICKS, 9 de octubre de 2025
    ​https://community.wolfram.com/groups/-/m/t/3558536