Hej Jayman,
Det låter som att detta är en skoluppgift?
Jag är inte speciellt insatt i optionshandel, och känner i synnerhet inte till beräkningen av implicita volatiliteter, men du verkar ju ändå ha en färdig formel för det?
Det ser dessutom ut som en binärsökning, vilket är vanligt inom datalogi. Jag kan därför inte hjälpa dig med själva beräkningen, men jag kan ge några tips:
1. Börja med att konstatera att bsPrice beräknas rätt. Använd värden på K, S, R, t och sigma där du vet vad priset skall bli.
2. När du är säker på att beräkningen är rätt så bör du börja med att skriva ut varje värde på sigma för att se att de faktiskt konvergerar.
3. Slutligen måste du alltid tilldela till ImplicitVol innan koden har körts klart. Det är förmodligen det som är problemet nu. (lägg då bara ImplicitVol=sigma sist i funktionen)
4. Alternativt så ändrar du villkoret till bsPrice > Price+0.5 eller något i den stilen (och motsv. för <), så att du godkänner ett större intervall runt Price.