Caml Trading talk

Chi gioca sul mercato finanziario?

  • Investitori
    • mettono del denaro a rischio e si attendono un ritorno proporzionato al rischio.
    • il mercato finanziario esiste per loro
    • ruolo non professionale
  • Speculatori
    • cercano di trovare cosa è sottovalutato prima che il mercato se ne accorga e lo comprano per riverderlo quando ha il massimo valore.
    • hanno interesse a prevedere il futuro
    • ruolo misto tra professionisti e hobbisti
  • Market Makers
    • vivono nello spazio tra il prezzo di vendita ed il prezzo di acquisto
    • un po’ come il negoziante che rivende ciò che ha comprato
    • non ha particolare interesse a prevedere il futuro, al limite quello a breve termine
    • ruolo per professionisti
  • Arbitratori
    • comprano e vendono quantità (valute, …) su mercati diversi (America, Europa, Asia, …)
    • quando un mercato è poco fluido i suoi prezzi non sono attendibili e i prezzi dei mercati fluidi possono essere usati per fare inferenza sui mercati poco fluidi
    • le transazioni devono avvenire molto rapidamente
    • ruolo per professionisti strettamente legato con il ruolo di Market Maker

Jane Street lavora come Market Maker – Arbitratore.

[altre cose che non ho voglia di trascrivere…]

Poi viene presentata la particolare dinamicità dei lori sistemi, costretti ed aggiornarsi in tempo reale alle modifiche continue dei sitemi di Trading con cui si interfacciano per compiere le operazioni sui mercati.
Per questo negli anni tutta la base di codice è via via migrata ad OCaml, che con il controllo statico dei tipi riesce a trovare la maggior parte delle incongruenze al momento della compilazione.

Altro vantaggio di OCaml è il fatto di incentivare uno stile di programmazione funzionale (nessuno usa gli oggetti in OCaml…), stile che facilita la fattorizzazione di pattern comuni a detta dello speaker molto più dello stile ad oggetti.

Terzo ma non ultimo vantaggio, vantaggio che accomuna un po’ tutti i linguaggi della famiglia ML, la compilazione è rapida e produce codice performante pur senza dover scomodare ottimizzazioni aggressive (che a volte rendono imprevedibile la velocità del codice prodotto anche a seguito di una piccola modifica nel codice).

Vi è poi un vantaggio accessorio e non marginale per una azienda, la possibilità di trovare buoni programmatori da assumere. Il fatto di avere scelto un linguaggio di nicchia li porta a pescare in un paniere di programmatori molto più piccolo anche se spesso la selezione fatta a monte dal linguaggio non è casuale ma predilige programmatori che come minimo hanno avuto l’interesse a studiare un linguaggio “strano”.

In particolare interessante l’opinione del relatore su OCaml, F# ed i linguaggi funzionali vs ad oggetti, riassunta in un commento qua: Caml Trading talk at CMU

Dietro Dive Into Python 3

Oggi ho notato il sito diveintopython3.org.

Incuriosito dal footer:

This site is optimized for Lynx just because fuck you.
I’m told it also looks good in graphical browsers.

© 2001-4, 2009 ℳark Pilgrim, CC-BY-3.0

Sono andato a guardare nei sorgenti della pagina ed ho trovato questa interessante riflessione:

<!-- As I write this, the year is 2009, and the internet is STILL a battleground of so-called "intellectual property" disputes. Some people would have you believe that without proper financial incentives, music, literature, and software would disappear. After all, who would make music if they can't make money on it? Who would write? Who would program?

I know the answer. The answer is that musicians will make music, not because they can make money, but because musicians are the people who can't not make music. Writers will write because they can't not write. Most of the people you think of as artists are really just showmen. They collect a paycheck and go home at 5 o'clock. That's not art, that's commerce.

I've been programming since 1983 and releasing my code under Free Software licenses since 1993. I've been writing and publishing under Free Content licenses since 2000. I can't imagine not doing this. If you can imagine yourself not doing what you're doing, do something else. Do whatever it is you can't not do. -->

iPhone TPM? Linguaggi interpretati all’arrembaggio!

La voglia è tanta… ma questa cosa del TPM rende mooolto più facile la tattica della “volpe e l’uva”!

Da sviluppatore è proprio inconcepibile avere un oggetto, con un sistema operativo, un SDK, ottima documentazione, e… non poter provare un programma sul MIO dispositivo senza avergli fatto fare una giratina virtuale per prendere una firma a Cupertino (99€/anno per lo scomodo)!!

Poi un pensiero: «Perché mai iPhone è uscito senza Java?»

Ma è facile, perché con Java basta avere una Virtual Machine firmata per far girare tutti i programmi del mondo, e ciao ciao AppStore! Stessa cosa per Python-Ruby-Perl!

Quindi TPM mio caro, non hai un gran futuro! (spero!, non ho indagato a fondo, ma credo che il controllo sia per processo e non per… boh, sul linking dinamico o che sò)

Continua a leggere

iPhone…

But can I download the SDK and install my own Applications on my iPhone?

No. The free SDK only lets you run applications in the iPhone Simulator.
To install your application on your iPhone, you need to be a $99/year
developer. (per poter uploadare in app store).

Insomma, da bravo sviluppatore non posso proprio tollerare di non poter far girare la MIA applicazione sul MIO cellulare. In questo capisco la radicalità di Stallman nella GPL3, che di fatto impedisce di rilasciare software GPL3 su iPhone.

Per ora, capisco che per molti il commento sia “fanculo la GPL3, c’è la GPL2”, ma spero nella viralità della licenza e che presto il pensiero diventi “fanculo l’iPhone blindato!”.

Però se volete vincerne uno (e farmene vincere uno a me se vincete :P): Concorso Wikio