円形を使用してオプション値を計算する

先に目次のような書き方で金融用のフーリェ変換の話を記録しました。
ちょっと追加します。
The paper derives the initial formula for the present value (C0) in terms of Fourier transforms by first defining the value of the option at a given time j in terms of convolution.
Convolving q/Rf works because it effectively moves backward one time unit on a lattice of values, starting from the right (CN, the option value at the exercise date). For example, given the top-right-corner price (the no-arbitrage price, or the value of the call option if the stock appreciates in every trading period) and the price below that (one decline and increases for the remainder of the periods), the two q/Rf values are initially multiplied by these two values (and these products summed) to find the first component of C(N-1) (value at time N-1 if no declines occurred). This means that the stock increases with probability qU/Rf and the option will thus have value CN0, and the stock decreases with probability qD/Rf and the option will thus have value CN1. The value C(N-1) is the expectation of the value given these risk-free probabilities. The multiplication pairs (qU/Rf and CN0, qD/Rf and CN1) are set by writing the q/Rf vector(0-padded) and the CN vector on concentric circles, with the components moving clockwise. CN is on the inner circle, and q/Rf is on the outer circle. Terms to be multiplied are at the same angular location on the circles. To find the second component of C(N-1), rotate the CN circle anticlockwise and again take the sum of products. So C(N-1)1 = qU*CN1 + qD*0 + 0*CN2 + 0*CN3
This method of multiplying adjacent values on concentric circles and summing is equivalent to convolving by the reverse of one of the second vector (q/Rf).
The price at time j is thus CN convolved with (N-J) convolutions of the reverse of q, all divided by Rf^j. Thus, as seen above, we would convolve q once with CN and divide by Rf to obtain C(N-1). q is reversed, in this case, since we are writing it in the same direction around the circle as CN (in convolutions, the usual practice is to write it in the anticlockwise direction). In the original example, we are actually convolving rev(q/Rf), not q, but, as Rf is a scalar, it can be moved outside of the convolution.
C0 would be (CN CONV (rev(q) CONV rev(q) ... CONV rev(q)))/Rf^N
We then perform inverse Discrete Fourier Transforms on both sides, and subsequently Fourier Transforms on both sides, so that the C0 price is written in terms of the (computationally less expensive) Fast Fourier Transform.