Koruna, oslabování a tak

Podle blogu na WSJ je koruna nejvíc propadající měnou letos, "no currency has fared worse in 2015 than the koruna’s 5.4% loss." I když mi přijde naprosto idiotský srovnávat měny po osmi dnech obchodování, něco mi nesedělo na tom, že by cca stovka měn nenavázaných na dolar na tom byla hůř.

Inu, ono spočítat to neni taková rocket science. Hádám, že záleží na tom, kdy ve dni se to bere, jestli se berou hi-lo atd. Já prostě vzal vzal data z Quandlu. Zároveň to slouží jako ukázka toho, co je zač Julia a IPython. Julia je novej jazyk na scientific computing. Je skvěle rychlá, intuitivní, open source, ... A IPython je interaktivní webový prostředí původně pro Python, ale jde použít i pro Julii a další jazyky. Vřele doporučuju. Vše co vidíte, je vytvořeno ve webovym prohlížeči.

Nejde o žádnou analýzu nebo ukázku toho, že jsme na tom dobře/špatně, jen ověření jednoho tvrzení. Lepší věci jsou u mě na blogu nebo na twitteru.

Napřed je třeba načíst balík na stahování dat z Quandlu, agregátoru dat.

In [6]:
using Quandl
set_auth_token("") # API token dostanete zdarma po registraci

Seznam zemí podle ISO jsem vzal z Wikipedie. Mohl sem stáhnout všechny forexy z Quandlu, ale tohle bylo krapet jednodušší.

In [2]:
f=readtable("currencies.csv")
locations=f[:Locations]
codes=f[:Code]
df=[f[j,:Code] => f[j,:Locations] for j in 1:size(f,1)]
Out[2]:
Dict{Any,Any} with 162 entries:
  "ERN" => "Eritrea"
  "MKD" => "Macedonia"
  "SEK" => "Sweden"
  "BYR" => "Belarus"
  "BIF" => "Burundi"
  "SRD" => "Suriname"
  "KWD" => "Kuwait"
  "GYD" => "Guyana"
  "OMR" => "Oman"
  "SLL" => "Sierra Leone"
  "PKR" => "Pakistan"
  "TZS" => "Tanzania"
  "RON" => "Romania"
  "NGN" => "Nigeria"
  "AED" => "United Arab Emirates"
  "KGS" => "Kyrgyzstan"
  "UAH" => "Ukraine"
  "MUR" => "Mauritius"
  "QAR" => "Qatar"
  "SBD" => "Solomon Islands"
  "BOB" => "Bolivia"
  "RWF" => "Rwanda"
  "PAB" => "Panama"
  "BOV" => "Bolivia"
  "CRC" => "Costa Rica"
  ⋮     => ⋮

Načteme forexy za první 12 dní, ale jen osm dní bylo pracovních, takže osm observací na měnu. Když se hodnoty neměněj, tak je měna vázaná na dolar, takže pro nás nezajímavá.

In [3]:
ret=DataFrame(code=String[], country=String[], change=Float64[])
for cur in codes
#    println("Loading $cur")
    try
        d = quandl("CURRFX/$(cur)USD", from="2015-01-01", to="2015-01-12", format="DataFrame")
        if all(d[2] .== d[2][1]) # constant? (Linked to USD)
            #info("$cur je vázaná na dolar, přeskakuju")
            continue;end
        #dat[symbol(cur)] = d[2]
        push!(ret, [ cur df[cur] round(100*(d[2][1]/d[2][end]-1), 3) ])
    catch
        #warn("$cur neni v datech, přeskakuju.")
    end
end
#writetable("performance.csv", dat)

Tady je deset nejvíc klesajících měn vůči dolaru.

In [4]:
head(sort(ret, cols=:change), 10)
Out[4]:
codecountrychange
1UGXUganda-7.559
2RUB Russia, Abkhazia (GE-AB), South Ossetia, Crimea-5.547
3XAF Cameroon (CM), Central African Republic (CF), Republic of the Congo (CG), Chad (TD), Equatorial Guinea (GQ), Gabon (GA)-5.193
4XOF Benin (BJ), Burkina Faso (BF), C󳣠d'Ivoire (CI), Guinea-Bissau (GW), Mali (ML), Niger (NE), Senegal (SN), Togo (TG)-5.193
5SDGSudan-4.349
6RSDSerbia-3.995
7KMFComoros-3.852
8CZKCzech Republic-3.722
9ALLAlbania-3.412
10SEKSweden-3.153

Takže Julia a IPython jsou príma, doporučuju.