La mia recensione di “The Mutt. How to Skateboard and Not Kill Yourself” (R. Mullen & S. Mortimer)

Innanzitutto, chiariamo che non si tratta di un libro che insegna l’arte dello skateboard. Molto semplicemente, questa è l’autobiografia di uno degli skateboarder più influenti di tutti i tempi, Rodney Mullen. Al dilà delle preferenze personali per il suo stile, è infatti indiscutibile che Mullen sia una leggenda vivente di questo sport. Un personaggio che ha dominato per anni la scena internazionale del freestyle (disciplina dello skateboard che prevedeva tricks eseguiti su superficie piatta), che con le sue innovazioni ha messo le basi per lo street skateboarding che conosciamo oggi (quello che fa utilizzo di ostacoli diversi per le acrobazie incredibili che si possono ammirare) e che si è in seguito reinventato street skater quando quest’ultimo ha letteralmente seppellito il freestyle, unica ragione di vita di Mullen fino a quel momento.

Dopo la dovuta introduzione a questo Gigante dello skateboard, veniamo al libro. Premetto che ho letto la versione originale in inglese. Ciò che posso dire, come per la maggioranza dei libri che decido di recensire, è che si tratta di un gran libro. Chiunque da giovane (o meno) abbia praticato dello skateboard, leggendo questo libro proverà una irresistibile voglia di tornare sulla tavola, all’istante. È un libro che ispira libertà, dedizione, passione. Traspare tutto l’amore di Rodney per lo skateboard oltre alla sua incredibile personalità.

Il libro non manca di far respirare al lettore l’atmosfera classicamente Californiana che contraddistingueva lo skateboard, in particolare negli anni ’70 (raccontati nel documentario “Dogtown and the Z-Boys” della leggenda Stacy Peralta) e negli anni ’80. In particolare, si parla proprio degli anni ’80, quelli dei vari Mullen, Hawk, Caballero & Co. che molti di noi (intesi come i miei coetanei o quasi) hanno imparato a conoscere giocando avidamente ai videogiochi della mitica serie “Tony Hawk’s Pro Skater”.

Oltre allo skateboard ed a ciò che ci sta attorno, il personaggio Mullen è capace di comunicare qualcosa di più. Mullen è infatti un artista, un grande innovatore che ha costruito il suo successo sportivo sulla fantasia e sul lavoro, duro. Ore e ore di allenamento, ogni giorno, anche fino a notte fonda, nelle pause tra la scuola ed i lavori in casa ordinati da suo padre e più tardi tra le lezioni presso l’Università della Florida, che ha frequentato con profitto salvo poi interrompere gli studi per fondare una casa di produzione di skateboard con l’eccentrico amico Steve Rocco. Insomma, non solo skateboard, ma anche quella vena di “tutto è possibile” che caratterizza il sogno americano. Una storia che, a mio avviso, non ha nulla da invidiare a quella ben più famosa di Steve Jobs con la sua Apple.

Mullen è un grande personaggio e questo libro è un ottimo modo per conoscerlo, per sognare un po’ e farsi infine ispirare da lui.

Log-linearizzazione del modello RBC standard

In questo breve documento ripercorro i passaggi necessari per la log-linearizzazione del modello Real Business Cycle (RBC) standard. Si tratta di un testo scritto nell’ambito della preparazione agli esami che vuole illustrare alcuni passaggi chiave e trucchi di questa tecnica molto utilizzata nella macroeconomia moderna.

Vale la pena sottolineare che la log-linearizzazione ha alcune importanti controindicazioni, in particolare

  • è un’approssimazione valida solo in prossimità dello stato stazionario (steady-state)
  • non considera termini quadratici, eliminando la dimensione del rischio (variazioni) riducendo il ciclo economico ad un sistema di equazioni lineari

Clicca qui per visualizzare

Distribuzione empirica congiunta di 2 variabili. Istogramma in R

Motivazione

Di recente ho avuto la necessità di creare con R un istogramma per rappresentare la distribuzione empirica congiunta di 2 variabili, nella fattispecie i rendimenti di 2 titoli con lo scopo di mostrare lo shape della distribuzione. In Excel è infatti possibile creare l’istogramma per una variabile, ma non per due congiuntamente. Prima di approcciare direttamente il problema, ho googlato un po’ l’argomento senza però trovare una soluzione “pronta all’uso” pienamente soddisfacente (ho trovato diverse soluzioni ma ognuna aveva qualche problema). Di seguito descrivo come ho risolto il problema, mentre il risultato è l’immagine qui sotto:Rplot

Soluzione

Personalmente (non posso certo considerarmi esperto di R), la maggiore difficoltà nel generare un simile grafico in R è stata la creazione della matrice di frequenze congiunte, ossia gli incroci delle frequenze della variabile nelle N classi definite. Tuttavia, andando per ordine:

#1: ho scaricato i dati da Yahoo Finance, nella fattipsecie mensili (ma la frequenza in questo caso non è influente). Vedi qui la procedura. Ovviamente ciò che mi interessa  sono i prezzi di chiusura. Clicca qui per vedere il file che ho utilizzato, dove la prima colonna contiene le date, la seconda i prezzi di chiusura mensili del titolo UBS e la terza colonna i prezzi di chiusura mensili del titolo Novartis.

#2: ho importato i dati (formato csv) dei prezzi scaricati al punto #1 con il semplice comando.

price <- read.csv("~percorso/nomefile.csv",sep=";",header=TRUE)

#3: a partire dai prezzi, genero i rendimenti con questo codice (è un modo di generare i rendimenti, non l’unico possibile)

matriceprezzi=as.matrix(price[,2:3])
differenza=diff(matriceprezzi)
rendi=differenza / price[1:length(price),2:3]

#4: creo le classi, generando una sequenza incrementale dal rendimento minimo in assoluto (tra i rendimenti dei due titoli) a quello massimo in assoluto tra le due serie. L’entità dell’incremento che uso è di 0.05 ma potete impostarlo come preferite, ottenendo di conseguenza classi più o meno ristrette. Il numero di classi che ottenete ovviamente dipende dalla dispersione dei rendimenti e dall’entità dell’incremento. Nel mio caso, il rendimento minimo osservato tra UBS e Novartis è -50.41021%, mentre il rendimento massimo osservato è +44.64475%. La classe 1 perciò comprenderà i rendimenti compresi tra -50.41021% e 49.91021% più vicini al primo valore, la classe 2 quelli compresi tra 49.91021% e 49.41021% più vicino al primo valore, e così via.

min<-min(rendi)
max<-max(rendi)
classi<-seq(min,max, by=0.05)
length(classi)

#5: dopo aver creato le classi al punto #4, dobbiamo assegnare ciascuno dei rendimenti della nostra serie alla rispettiva classe di appartenenza. Denominerò qui le due variabili “var1” e “var2” (nel mio esempio sarebbero UBS e Novartis). Con il seguente comando creo due vettori (“cvar1” e “cvar2”), di lunghezza pari al vettore che contiene i rendimenti (quindi le colonne 1 e 2 della matrice dei rendimenti), che contiene il numero della classe a cui appartiene il rendimento. Nel mio caso, se il primo redimento osservato per UBS è -49.5000%, il primo valore del vettore classe per UBS sarà 2 (vedi classi sopra), e così via. Il codice è

cvar1<-findInterval(rendi[,1],classi)
cvar2<-findInterval(rendi[,2],classi)

#6: creo una matrice quadrata vuota, da riempire (punto #7) con i le frequenze congiunte per ogni classe dei rendimenti dei due titoli. Le dimensioni della matrice dipendono evidentemente dal numero di classi. Chiamo questa matrice “hist” e la genero con questo comando

hist<-matrix(nrow=length(classi),ncol=length(classi))

#7: per riempire la matrice, utilizzo una doppia loop (nested loop). Questo è il vero cuore del codice. Per ogni riga i della matrice “hist” (i è compreso tra 1 e il numero delle classi create), la loop crea colonne (anche j ovviamente è compreso tra 1 ed il numero di classi create, perché la matrice “hist” è quadrata). Ogni colonna j della riga i (quindi stiamo parlando di un valore) è calcolato con la funzione “sum” e rappresenta il numero di casi in cui cvar1=i e simultaneamente cvar2=j (nel codice questa condizione è espressa come “cvar1==i&cvar2==j”). Quindi nel mio caso, se i=1 e j=1, avrò il numero di frequenze dell’abbinamento in cui i rendimenti sia di UBS che di Novartis appartengono alla classe 1. Se i=1 e j=2, avrò il numero di frequenze dell’abbinamento in cui i rendimenti di UBS appartengono alla classe 1 mentre quelli di Novartis sono nella classe 2. E così via… Il codice è

for(i in 1:length(classi)){
for(j in 1:length(classi)){
hist[i,j]<-c(sum(cvar1==i&cvar2==j))
}
}

#8: a questo punto, aggiungo il nome a righe e colonne della matrice “hist”. I nomi saranno di fatto i rendimenti che rappresentano le classi, arrotondati al secondo decimale.Il relativo codice è

colnames(hist)=round(classi,2)
rownames(hist)=round(classi,2)

#9: infine non resta che creare il grafico, nella fattispecie l’istogramma. Ci sono diverse funzioni in R, che a livello grafico è molto versatile. Nel mio esempio uso la funzione “wireframe”. Per utilizzarla dobbiamo caricare il pacchetto “lattice”. Ci sono poi alcune opzioni di visualizzazione con cui potete giocare, tuttavia non entro nei dettagli qui.

library(lattice)
wireframe(main="Istogramma bivariato", hist, screen = list( z=20,x = -85),ylab="var2",xlab="var1",zlab="Freq",scales = list(x=list(arrow=FALSE,rot=-65,distance=1),y=list(arrow=FALSE,rot=55,distance=1),z=list(arrow=FALSE)))

Di seguito, il codice completo per questo istogramma. Ricordate che il codice qui riportato vale per il file di dati strutturato come sopra (colonna 1=data, colonna 2=prezzo 1, colonna 3=prezzo 2). Ho cercato di rendere l’esempio il più generale possibile, nonostante si tratti di un caso applicato alla distribuzione congiunta dei rendimenti di 2 titoli partendo dai prezzi degli stessi.

price <- read.csv("~percorso/nomefile.csv",sep=";",header=TRUE)
matriceprezzi=as.matrix(price[,2:3])
differenza=diff(matriceprezzi)
rendi=differenza / price[1:length(price),2:3]
min<-min(rendi)
max<-max(rendi)
classi<-seq(min,max, by=0.05)
length(classi)
cvar1<-findInterval(rendi[,1],classi)
cvar2<-findInterval(rendi[,2],classi)
hist<-matrix(nrow=length(classi),ncol=length(classi))
for(i in 1:length(classi)){
for(j in 1:length(classi)){
hist[i,j]<-c(sum(cvar1==i&cvar2==j))
}
}
colnames(hist)=round(classi,2)
rownames(hist)=round(classi,2)
library(lattice)
wireframe(main="Istogramma bivariato", hist, screen = list( z=20,x = -85),ylab="var2",xlab="var1",zlab="Freq",scales = list(x=list(arrow=FALSE,rot=-65,distance=1),y=list(arrow=FALSE,rot=55,distance=1),z=list(arrow=FALSE)))

Simboli in LaTeX: una raccolta completa

Chi usa LaTeX sa che conoscere a memoria tutta la gamma di simboli disponibili è pressoché impossibile. Anche a chi utilizza con grande frequenza LaTeX ed ha vasta conoscenza anche di simboli meno comuni può accadere di trovarsi senza il giusto simbolo. Bene, per ovviare a questi problemi sono incappato in un’interessante documento. Sul sito del RPI (NY, USA) è disponibile una completissima lista di simboli. Gli interessati potranno trovarla cliccando sotto:

Lista simboli LaTeX

La mia recensione di “The Theory of Capitalist Development” (P. M. Sweezy)

Paul Marlor Sweezy è senza dubbio tra gli economisti più interessanti ed allo stesso tempo più negletti dell’ultimo secolo. Compagno di studi di Paul Samuelson (uno dei padri della moderna scienza economica nonché Premio Nobel), istruttore di Bob Solow (altro Nobel) e allievo di Joseph A. Schumpeter, si forma ad Harvard dove ottiene il Phd. Avviato ad una brillante carriera accademica, decide di approfondire la dottrina marxista, intesa come particolare approccio scientifico alla scienza economica (in altre parole, non sotto l’aspetto “politico” che oggi caratterizza il termine “marxista”). Anche per questo (ma non solo), rinuncia ai fasti dell’accademia preferendo un percorso di ricerca autonomo. Alcuni anni più tardi fonderà il “Monthly Review” e produrrà alcuni saggi di grande valore tra cui “Monopoly Capital” e il volume qui recensito, ossia “The Theory of Capitalist Development”. Ultima nota curiosa, Sweezy è tra i più profondi conoscitori dell’approccio marxista all’economia ed allo stesso tempo proviene da una delle nazioni in assoluto più sgombre da contaminazioni marxiste o socialiste (con accezione politica in questo caso).

A questo punto, è opportuno entrare nel merito dei contenuti di “The Theory of Capitalist Development”. Inizio chiarendo che la validità e la potenza dell’approccio scientifico marxista non hanno nulla a che spartire con le implicazioni politiche della sua dottrina. Con ciò intendo semplicemente affermare che il metodo analitico di Marx per rapporto al funzionamento di un’economia capitalistica è oggettivamente riconosciuto come valido, anche da chi non sposa tale approccio e soprattutto ha più legittimità di chi scrive questa recensione nell’affermarlo. Del Marx economista (comunemente definito l’ultimo dei “Classici”) spesso si legge che, nonostante un’analisi impeccabile, ha tratto conclusioni sbagliate. Tuttavia, siccome qui scrivo di Sweezy e non di Marx, non mi soffermerò oltre su questo punto che era tuttavia importante menzionare in quanto centrale nei lavori di Sweezy.

Negli anni di Harvard, Sweezy si occupò di alcuni seminari incentrati sull’economia del socialismo nell’ambito del suo lavoro di assistenza a Schumpeter. “The Theory of Capitalist Development” ha radici proprio in questi seminari; questa opera fornisce gli elementi centrali, rivisitati ed aggiornati alla realtà post Grande Depressione, della teoria economica marxista.

“Il Capitale”, opera centrale di Karl Marx, è un testo che data 200 anni, estremamente dettagliato ed oggettivamente molto pesante alla lettura (parlo per esperienza diretta!). Al contrario, con l’opera di Sweezy il lettore interessato può acquisire il metodo e gli elementi centrali della teoria marxista rivisti in chiave moderna senza le infinite digressioni tipiche del “Capitale”. Infatti, e proprio in questo Sweezy si dimostra grande, egli è stato capace di applicare alla storia più recente le intuizioni di Marx. In “The Theory of Capitalist Development” si ritrovano numerosi tratti distintivi delle economie capitaliste evolute, che ritroviamo ancora oggi. La modernità di questa opera (del 1942 la prima edizione) risulta a tratti sconvolgente, contribuendo alla piacevolezza del testo che rimane pur sempre di stampo teorico. Sweezy, attingendo a piene mani dal metodo di Marx, applica un approccio misto tra storia e teoria in cui è facile trovare appigli reali e comprendere i passaggi logici. Sweezy evita inoltre di utilizzare il linguaggio matematico che ha letteralmente invaso i testi di teoria economica dopo i “Classici” a partire dalla cosiddetta rivoluzione marginalista; ciò evidentemente favorisce l’intelligibilità.

In conclusione, come già accennato da altri, “The Theory of Capitalist Development” è il testo ideale quale primo approccio al metodo di analisi economica di stampo marxista. Non è forse il libro da leggere in spiaggia durante le vacanze ma chi seriamente è interessato all’argomento troverà la lettura molto piacevole.