Discussione: inviare ordini buy/sell di opzioni
Visualizzazione Ibrida
-
19-08-18, 16:52 #1
- Data Registrazione
- Feb 2016
- Messaggi
- 128
Scusate se riesumo questo thread abbastanza vecchio; volevo sapere se tramite Easyscript è possibile leggere il valore "Volatility" di Iceberg sulle opzioni. In alternativa ho visto che è possibile importare gli assembly DLL di Iceberg e utilizzare classi e metodi di queste DDL.
E' possibile tramite Iceberg .NET leggere questi valori di Volatility?
Mi riferisco a http://manuals.playoptions.it/Iceberg/it/iceberg_.net
Grazie!
-
20-08-18, 14:26 #2
Salve,
Si, è possibile realizzando un plugin per una strategia di Iceberg.
Il codice all'interno del plugin dovrebbe contenere delle righe simili a queste:
DateTime expiry = <Data e Ora di scadenza dell'opzione>; double strike = <strike dell'opzione>; OptionType optionType = <Serie dell'opzione, CALL o PUT>; Option opt = this.Strategy.FindOption(this.Strategy.UserDefinedMainUnderlying, optionType, strike, expiry); if (null != opt) { double impliedVolatility = opt.Volatility; // Qui va il codice che usa il valore di volatilità implicita dell'opzione }
Max FrancarioUltima modifica di Francario Massimiliano; 20-08-18 alle 15:36
-
20-08-18, 15:40 #3
- Data Registrazione
- Feb 2016
- Messaggi
- 128
Grazie mille, era esattamente quello che cercavo!
Potresti riportarmi il pezzetto di codice con le variabili, valorizzandomele?
Tipo se mi puoi mettere dei valori di esempio in "expiry, strike, serie opzione"
Grazie!
DateTime expiry = <Data e Ora di scadenza dell'opzione>;
double strike = <strike dell'opzione>;
OptionType optionType = <Serie dell'opzione, CALL o PUT>;
-
20-08-18, 16:21 #4
Salve,
per la serie è abbastanza semplice:
// Esempio: cerco una CALL OptionType optionType = OptionType.CALL;
Per quanto riguarda la scadenza e lo strike, invece, è un pò più complicato. Il modo più sicuro è quello di ottenere l'elenco delle scadenze direttamente da Iceberg:
// Elenco delle scadenze List<DateTime> scadenze = this.Strategy.UserDefinedMainUnderlying.OptionsChain.GetExpiries();
Una volta ottenuto l'elenco delle scadenze, si può selezionare quella che interessa:
// Esempio, cerco la prima scadenza oltre i 30gg a partire da adesso scadenze.Sort(); DateTime expiry = scadenze.Where(dt => (dt - DateTime.Now).TotalDays > 30.0).FirstOrDefault();
Il valore dello strike può essere recuperato anch'esso a partire dalla chain delle opzioni di Iceberg:
// Cerco lo strike più vicino a 20000 nella chain con la scadenza selezionata List<double> strikes = this.Strategy.UserDefinedMainUnderlying.OptionsChain.GetStrikes(expiry); double strike = strikes.OrderBy(s => Math.Abs(20000 - s)).FirstOrDefault();
Tutto questo deve comunque essere implementato all'interno di un plugin di Iceberg realizzato in .NET. Il codice di esempio che ho postato è scritto in C#, ma è possibile realizzare i plugin in qualsiasi linguaggio di .NET, come VB.NET o F# o altro.
Max Francario
-
20-08-18, 16:37 #5
- Data Registrazione
- Feb 2016
- Messaggi
- 128
Perfetto, c'è qualche guida su come sviluppare un plugin per Iceberg?
-
21-08-18, 11:41 #6
-
10-08-24, 13:03 #7
- Data Registrazione
- Jul 2016
- Messaggi
- 75
Ciao Max
Per avere un'interazione tra un Trading System in easylanguage e Buy/Sell di opzioni si potrebbero esportare le trade generate dal TS su una Strategy di Beetrader ?
In questo modo si potrebbe usare il TS con easylanguage che produce buy/sell di sottostante e il Plannig della Option Strategy per gestire buy/sell di opzioni
Grazie
Ciao
Fernando
-
12-08-24, 10:28 #8