About theoretical value of put option

I was checking option pricing in the Black–Scholes calculator and noticed something confusing.

Spot = 900
Strike = 905
So the put is in-the-money and intrinsic value should be K − S = 5.

However, the calculated put price is only about 2.3, which is even less than the intrinsic value.

If that is true, then theoretically I could:
buy the stock at 900 and buy the put,
and lock selling at 905 on expiry — creating an apparent arbitrage.

isn’t it true that in theoretical (no-arbitrage) pricing models one cannot create arbitrage opportunities by construction?

With 1% volatility and 10% interest, what do you expect? :joy:

There’s no arbitrage just discounting and near-zero uncertainty.

I deliberately used 1% volatility. But why does volatility matter here (in case of arbitrage)?

If the stock is at 900 and the strike is 905, I can simply buy the stock and buy the put, which lets me sell at 905 at expiry. Wouldn’t that create a risk-free profit?

Also, could u please explain why discounting is relevant in this situation?

This is not a live scenario, such opportunities wouldn’t be there in live market where an ITM option is trading at discount