Screener per azioni come sottostante di opzioni

Viewing 15 posts - 1 through 15 (of 26 total)
  • Author
    Posts
  • #178527 quote
    Robpa0464
    Participant
    Junior

    Buongiorno,

    al fine di selezionare delle azioni come sottostante di opzioni, avrei bisogno dei seguenti 6 screener:

    1. rialzisti (con volatilità bassa):
    • media mobile a 200 giorni inclinata positivamente, con prezzi stabilmente al di sopra della media 200, meglio se con massimi e minimi crescenti;
    • media mobile a 20 giorni positivamente inclinata, che poi è stata violata dai prezzi dall’alto verso il basso segnando uno swing ribassista, ma dal quale i prezzi stanno per ripartire al rialzo;
    • volatilità storica a 20 giorni sui minimi e che stia ripartendo a salire, meglio se taglia dal basso verso l’alto la volatilità a 100 giorni;
    • volatilità storica a 100 giorni in discesa o piatta, pronta ad essere tagliata da quella a 20 giorni;
    • volatilità implicita (sulle opzioni ATM della scadenza in arrivo) relativamente bassa, meglio ancora se più bassa di quella storica a 20 giorni.

     

    2) ribassisti (con volatilità bassa):

    • media mobile a 200 giorni inclinata negativamente, con prezzi stabilmente al di sotto della media 200, meglio se con massimi e minimi decrescenti;
    • media mobile a 20 giorni negativamente inclinata, che poi è stata violata dai prezzi dal basso verso l’alto segnando uno swing rialzista, ma dal quale i prezzi stanno per ripartire al ribasso;
    • volatilità storica a 20 giorni sui minimi e che stia ripartendo a salire, meglio se taglia dal basso verso l’alto la volatilità a 100 giorni;
    • volatilità storica a 100 giorni in discesa o piatta, pronta ad essere tagliata da quella a 20 giorni;
    • volatilità implicita (sulle opzioni ATM della scadenza in arrivo) relativamente bassa, meglio ancora se più bassa di quella storica a 20 giorni.

     

    3) non rialzisti (con volatilità alta):

    • media mobile a 200 giorni inclinata negativamente, con prezzi stabilmente al di sotto della media 200, meglio se con massimi e minimi decrescenti;
    • media mobile a 20 giorni negativamente inclinata, che poi è stata violata dai prezzi dal basso verso l’alto segnando uno swing rialzista, ma dal quale i prezzi stanno per ripartire al ribasso;
    • volatilità storica a 20 giorni sui massimi e che e che stia piegando verso il basso, meglio se taglia dall’alto verso il basso la volatilità a 100 giorni;
    • volatilità storica a 100 giorni in salita o piatta, pronta ad essere tagliata da quella a 20 giorni;
    • volatilità implicita (sulle opzioni ATM della scadenza in arrivo) relativamente alta, meglio ancora se più alta di quella storica a 20 giorni.

     

    4) non ribassisti (con volatilità alta):

    • media mobile a 200 giorni inclinata positivamente, con prezzi stabilmente al di sopra della media 200, meglio se con massimi e minimi crescenti;
    • media mobile a 20 giorni positivamente inclinata, che poi è stata violata dai prezzi dall’alto verso il basso segnando uno swing ribassista, ma dal quale i prezzi stanno per ripartire al rialzo;
    • volatilità storica a 20 giorni sui massimi e che stia piegando verso il basso, meglio se taglia dall’alto verso il basso la volatilità a 100 giorni;
    • volatilità storica a 100 giorni in salita o piatta, pronta ad essere tagliata da quella a 20 giorni;
    • volatilità implicita (sulle opzioni ATM della scadenza in arrivo) relativamente alta, meglio ancora se più alta di quella storica a 20 giorni.

     

    5) neutrali in acquisto (con volatilità bassa):

    • media mobile a 200 giorni piatta, non particolarmente inclinata in un senso piuttosto che in un altro, con prezzi che si presentano alternativamente al di sopra e al di sotto della media, formando massimi e minimi alternati né crescenti né decrescenti;
    • media mobile a 20 giorni che può assumere qualsiasi inclinazione e posizione rispetto ai prezzi;
    • volatilità storica a 20 giorni sui minimi e che stia ripartendo a salire, meglio se taglia dal basso verso l’alto la volatilità a 100 giorni;
    • volatilità storica a 100 giorni in discesa o piatta, pronta ad essere tagliata da quella a 20 giorni;
    • volatilità implicita (sulle opzioni ATM della scadenza in arrivo) relativamente bassa, meglio ancora se più bassa di quella storica a 20 giorni.

     

    6) neutrali in vendita (con volatilità alta):

    • media mobile a 200 giorni piatta, non particolarmente inclinata in un senso piuttosto che in un altro, con prezzi che si presentano alternativamente al di sopra e al di sotto della media, formando massimi e minimi alternati né crescenti né decrescenti;
    • media mobile a 20 giorni che può assumere qualsiasi inclinazione e posizione rispetto ai prezzi;
    • volatilità storica a 20 giorni sui massimi e che stia piegando verso il basso, meglio se taglia dall’alto verso il basso la volatilità a 100 giorni;
    • volatilità storica a 100 giorni in salita o piatta, pronta ad essere tagliata da quella a 20 giorni;
    • volatilità implicita (sulle opzioni ATM della scadenza in arrivo) relativamente alta, meglio ancora se più alta di quella storica a 20 giorni.

     

    Ringrazio tanto.

    Roberto Palma

    #178532 quote
    robertogozzi
    Moderator
    Master

    Riguardo al secondo punto del primo screener, cosa significa “ma dal quale i prezzi stanno per ripartire al rialzo”?

    O meglio, come definisci un “prezzo che sta per ripartire”?

    #178538 quote
    Robpa0464
    Participant
    Junior

    almeno una prima candela verde in caso di ripartenza verso l’alto da uno swing ribassista, candela che riattraversa la media 20

    #178630 quote
    robertogozzi
    Moderator
    Master

    Sono molti, te li farò in modo scaglionato.

    #178632 quote
    Robpa0464
    Participant
    Junior

    ok

    Quanto all’analisi del prezzo, lo screener 1 e 4 sono uguali così come rispettivamente  il 2 e il 3 e  il 5 e il 6.

    Quanto alla volatilità il 1 e 2 e 5 f(volatilità bassa) sono uguali così come il 3, il 4 e il 6 (volatilità alta).

    Ti ringrazio

    #178819 quote
    robertogozzi
    Moderator
    Master

    Questo è il primo:

    // 1. rialzisti (con volatilità bassa)
    //
    N      = 10  //10 periodi per considerare STABILE la posizione del prezzo sopra Sma200
    P      = 20  //20 periodi per verificare lo swing basso di ripartenza
    LB     = 5   //5  periodi di osservazione (look back) per verifica del'incrocio ribassista prima della ripartenza
    Bull   = close > open
    Bear   = close < open
    Sma200 = average[200,0](close)
    L1     = summation[N](Sma200 > Sma200[1]) = N      //prezzo stabilmente sopra la Sma200 per N periodi
    Sma20  = average[20,0](close)
    L2     = Sma20 > Sma20[1]                          //Sma200 inclinata positivamente
    Cross  = close CROSSES UNDER Sma20
    Swing  = (min(low,low[1]) = lowest[P](low)) AND Bear[1] AND Bull
    L3     = Swing AND summation[LB](Cross)
    HV100  = HistoricVolatility[100](close)
    HV20   = HistoricVolatility[20](close)
    CV100  = CALL "Volatility Chaikin"[100, 1, 10, 0]
    L4     = (HV20 = lowest[20](HV20))                 //Volatilità storica a 20 periodi sul minimo degli ultimi 20 giorni
    L5     = (HV100 <= HV100[1])                       //Volatilità storica a 100 periodi in discesa o piatta
    L6     = CV100 < HV20                              //Volatilità CHAIKIN (a 100 periodi) < a quella storica a 20 periodi
    Cond   = L1 AND L2 AND L3 AND L4 AND L5 AND L6
    SCREENER[Cond]

    La volatilità implicita non c’è su ProRealTime (almeno non l’ho notata). L’ho sostituita con la Volatilità Chaikin, ma non so se può essere ugualmente valida. Se conosci un indicatore tu fammi avere un link al codice.

    Per il resto ho saltato ogni tua indicazione “meglio se…“, in quanto non si può rappresentare con il codice. L’unica è se tu mi dai un valore numerico, ad esempio quando dici “pronta ad essere tagliata…“, in modo da poterla codificare.

    Verifica che vada bene, altrimenti dimmi le modifiche da fare (se fattibili).

    Quando questo andrà bene passerò agli altri, per non farli tutti e poi scoprire che vanno tutti corretti o cambiati.

    #178821 quote
    Robpa0464
    Participant
    Junior

    Ok verifico il tutto e ti faccio sapere subito.

    #178920 quote
    Robpa0464
    Participant
    Junior

    Ciao Roberto,

    quanto alla volatilità implicita pare non ci sia in Prorealtime (trattandosi di volatilità prezzata dal mercato nei premi delle opzioni quotate e rilevabile nelle piattaforme dedicate alle opzioni), pertanto non consideriamo più l’ultimo punto di ogni screener.

    L’esame della volatilità implicita la farò successivamente quando esaminerò le opzioni relative alle azioni candidate dallo screener…

    Quindi puoi eliminare, credo, i righi 17 e 20.

    Quanto all’analisi della volatilità storica a 20 giorni, puoi considerare “meglio se taglia dal basso verso l’alto la volatilità a 100 giorni” con l’incrocio della “HV20 crosses over HV100” , come condizione alternativa (credo OR anzichè AND) alla condizione volatilità storica a 20 giorni sui minimi. Infatti come condizione alternativa, credo, aggiunga nuovi candidati anzichè creare un filtro ulteriore.

    Quanto all’analisi del prezzo, la selezione può essere migliorata aggiungendo al ritracciamento del prezzo con la sfondamento della EMA 20 una ripartenza del prezzo verso l’alto anzichè con una semplice candela “bull” (così mi pare di aver capito…), con un pattern di inversione rialzista espresso come l’Engulfing bullish, l’hammer rialzista e il swing point low (ponendoli nello screener con la congiunzione OR).

    Ho trovato su un articolo i seguenti codici (non so se sono giusti..):

    engulfing rialzista=

    C1 = range[0]>=range[1] AND close[1]<open[1] AND close[0]>open[0] AND open[0]<=close[1] AND close [0]>=open[1]

    hammer rialzista=

    C1 = close[1]<open[1] AND open[0]>low[0]+(range*0.66) AND close[0]>low[0] + (range*0.66) AND range[0]>abs(open-close)*4 AND low[0]<low[1]

    swing point low + one white soldier (rialzista)

    C1 = close[2]>open[2] AND high[2]<high[1] AND high[0]<high[1] AND close[0]<open[0] AND close[0]<low[1] AND low[2]<low[1] AND low[0]<low[1] AND low[0]<low[2] AND close[0]<open[2] AND close[0]<=high[0]-(range[1]*0.50)

    Resto in attesa e spero di essere stato propositivo…

    #178923 quote
    Robpa0464
    Participant
    Junior

    Scusami mi sono dimenticato …

    In un trend di fondo rialzista chiaramente la EMA 20 deve essere più alta della Media mobile a 200, con i prezzi di solito anche al di sopra della Ema 20 tranne chiaramente nel caso del ritracciamento su evidenziato.

    Così eliminiamo i casi di azioni con prezzi al di sotto della media mobile più lenta…

    #178978 quote
    Robpa0464
    Participant
    Junior

    Potremmo inoltre considerare sempre nell’analisi del prezzo anche la condizione di esistenza di un trend rialzista con l’ADX >=20 e con +DI  superiore al –DI .

    Infine mi sono accorto che hai codificato la SMA 20; cortesemente se puoi considerare invece la EMA 20.

    Scusami per queste aggiunte, ma sono frutto di approfondimenti al fine di migliorare il risultato della selezione.

    #179055 quote
    robertogozzi
    Moderator
    Master

    Riepilogo le condizioni (solo del n. 1):

    • media mobile a 200 giorni inclinata positivamente, con prezzi stabilmente al di sopra della media 200, meglio se con massimi e minimi crescenti;
    • media mobile a 20 giorni positivamente inclinata, che poi è stata violata dai prezzi dall’alto verso il basso segnando uno swing ribassista, ma dal quale i prezzi stanno per ripartire al rialzo;
    • volatilità storica a 20 giorni sui minimi e che stia ripartendo a salire, meglio se taglia dal basso verso l’alto la volatilità a 100 giorni;
      volatilità storica a 100 giorni in discesa o piatta, pronta ad essere tagliata da quella a 20 giorni;
      volatilità implicita (sulle opzioni ATM della scadenza in arrivo) relativamente bassa, meglio ancora se più bassa di quella storica a 20 giorni;
    • Quindi puoi eliminare, credo, i righi 17 e 20
    • Quanto all’analisi della volatilità storica a 20 giorni, puoi considerare “meglio se taglia dal basso verso l’alto la volatilità a 100 giorni” con l’incrocio della “HV20 crosses over HV100” , come condizione alternativa (credo OR anzichè AND) alla condizione volatilità storica a 20 giorni sui minimi
    • Ho trovato su un articolo i seguenti codici (non so se sono giusti..):
      a) engulfing rialzista = range[0]>=range[1] AND close[1]<open[1] AND close[0]>open[0] AND open[0]<=close[1] AND close [0]>=open[1]
      b)  hammer rialzista =  close[1]<open[1] AND open[0]>low[0]+(range*0.66) AND close[0]>low[0] + (range*0.66) AND range[0]>abs(open-close)*4 AND low[0]<low[1]
      c)  swing point low + one white soldier (rialzista)  = close[2]>open[2] AND high[2]<high[1] AND high[0]<high[1] AND close[0]<open[0] AND close[0]<low[1] AND low[2]<low[1] AND low[0]<low[1] AND low[0]<low[2] AND close[0]<open[2] AND close[0]<=high[0]-(range[1]*0.50)
    • In un trend di fondo rialzista chiaramente la EMA 20 deve essere più alta della Media mobile a 200, con i prezzi di solito anche al di sopra della Ema 20 tranne chiaramente nel caso del ritracciamento su evidenziato
    • Potremmo inoltre considerare sempre nell’analisi del prezzo anche la condizione di esistenza di un trend rialzista con l’ADX >=20 e con +DI  superiore al –DI
    • Infine mi sono accorto che hai codificato la SMA 20; cortesemente se puoi considerare invece la EMA 20.

    Per quanto riguartda l’engulfing si dovrebbero considerare solo i CORPI delle candele, non anche le ombre, certamente così può essere più restrittivo.

    Cosa intendi con “tranne chiaramente nel caso del ritracciamento su evidenziato“?  Non ho trovato l’accenno al ritracciamento.

    Ho modificato la regola della Sma200 perché avevo messo la condizione che fosse stabilmente cresecente, ma non avevo messo la verifica deio prezzi nel primo codice.

    // 1. rialzisti (con volatilità bassa)
    //
    N      = 5   //5  periodi per considerare STABILE la posizione del prezzo sopra Sma200
    P      = 10  //10 periodi per verificare lo swing basso di ripartenza
    LB     = 5   //5  periodi di osservazione (look back) per verifica del'incrocio ribassista prima della ripartenza
    Bull   = close > open
    Bear   = close < open
    Sma200 = average[200,0](close)
    L1     = summation[N]((Sma200 > Sma200[1]) AND (close > Sma200)) = N  //Sma200 inclinata positivamente prezzo stabilmente sopra di essa per N periodi
    Ema20  = average[20,1](close)
    L2     = summation[N]((Ema20 > Ema20[1]) AND (close > Ema20)) = N     //Ema20 inclinata positivamente prezzo stabilmente sopra di essa per N periodi
    Cross  = close CROSSES UNDER Ema20
    Swing  = (min(low,low[1]) = lowest[P](low)) AND Bear[1] AND Bull
    L3     = Swing AND summation[LB](Cross)
    HV100  = HistoricVolatility[100](close)
    HV20   = HistoricVolatility[20](close)
    L4     = (HV20 = lowest[20](HV20))                                    //Volatilità storica a 20 periodi sul minimo degli ultimi 20 giorni
    L5     = (HV100 <= HV100[1])                                          //Volatilità storica a 100 periodi in discesa o piatta
    L6     = HV20 CROSSES OVER HV100
    L7     = Adx[14] >= 20
    L8     = DIplus[14] > DIminus[14]
    //
    Engulf = range[0]>=range[1] AND close[1]<open[1] AND close[0]>open[0] AND open[0]<=close[1] AND close [0]>=open[1]
    //
    Hammer =close[1]<open[1] AND open[0]>low[0]+(range*0.66) AND close[0]>low[0] + (range*0.66) AND range[0]>abs(open-close)*4 AND low[0]<low[1]
    //
    SwingL = close[2]>open[2] AND high[2]<high[1] AND high[0]<high[1] AND close[0]<open[0] AND close[0]<low[1] AND low[2]<low[1] AND low[0]<low[1] AND low[0]<low[2] AND close[0]<open[2] AND close[0]<=high[0]-(range[1]*0.50)
    //
    Cond   = L1 AND L2 AND L3 AND (L4 OR L6) AND L5 AND L7 AND L8 AND Engulf AND Hammer AND SwingL
    SCREENER[Cond]
    #179056 quote
    robertogozzi
    Moderator
    Master

    Anzi, il tuo rigo sul ritracciamento l’ho vito, ma non ho capito cosa intendi.

    #179067 quote
    Robpa0464
    Participant
    Junior

    Per ritracciamento del prezzo intendo dire il pullback sulla EMA 20  (ossia la violazione delle EMA 20 del prezzo dall’alto verso il basso con successiva ripartenza).

    provo a testare lo screener.

    Inoltre per conferma (non sono un programmatore…): i pattern di inversione codificati (engulfing, hammer e swing point low) non dovrebbero essere alternativi ed indicare la ripartenza del trend rialzista dopo il pullback??

    #179070 quote
    Robpa0464
    Participant
    Junior

    Non trovo azioni nè sul Nasdaq nè sul Nyse.

    Cortesemente puoi illustrarmi  il codice 13 Swing. .. sinceramente non ho compreso..

    #179087 quote
    robertogozzi
    Moderator
    Master

    Ho messo i tuoi codici senza verificarli, penso vadano vene a parte l’engulfing. Se non vanno bene puoi variarli.

    Il swing della rioga 13 si ha quando una candela inverte un’altra, in questo caso una rialzista dopo una ribassista, in corrispondenza di un minimo degli ultimi N periodi.

    Come deve essere applicato il ritracciamento?

    Forse è opportuna una chiarificazione dei vari passaggi. Tieni presente che il codice lavorasulla candela CORRENTE, quindi occorre verificare ciò che è accaduto PRIMA o durante. Quindi occorre stabilire quando una certa cosa deve essere accaduta, rispetto ad adesso.

Viewing 15 posts - 1 through 15 (of 26 total)
  • You must be logged in to reply to this topic.

Screener per azioni come sottostante di opzioni


ProScreener: Scansione Mercati & Screener

New Reply
Author
author-avatar
Robpa0464 @robpa0464 Participant
Summary

This topic contains 25 replies,
has 2 voices, and was last updated by Robpa0464
4 years, 4 months ago.

Topic Details
Forum: ProScreener: Scansione Mercati & Screener
Language: Italian
Started: 09/27/2021
Status: Active
Attachments: No files
Logo Logo
Loading...