我在 Python 中做了這個計算:
((1.00044*(1.00175/1.00044)**(252/(4-1))**((1-1)/252))**(252/1)-1)*100
55.36617662154271
Excel 中的相同計算得出了這個結果:11,7234。
這種分歧的原因是什么?
uj5u.com熱心網友回復:
在 Excel 和 Python 中,您的運算式可以簡化為:
((1.00044*(1.00175/1.00044)**84**0)**252-1)*100
不同之處在于它們如何評估冪運算式(求冪)。Python在應用右關聯取冪時遵循數學約定。2 ** 3 ** 4 == 2 ** (3 ** 4) == 2417851639229258349412352. 在 Excel 中,取冪是從左到右的,因此2 ^ 3 ^ 4計算為(2 ^ 3) ^ 4 = 4096.
如果您添加括號以使 Python 評估**84之前的值,**0那么您將獲得與 Excel 中相同的結果:
((1.00044*((1.00175/1.00044)**84)**0)**252-1)*100 # 11.7234
或者,如果您在不同的位置添加括號,您可以在 Excel 中獲得 Python 結果:
=((1.00044*(1.00175/1.00044)^(84^0))^252-1)*100 # 55.366
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/464862.html
上一篇:我如何能夠隨機執行某些代碼行?
