Professional Documents
Culture Documents
Maple 4 TTC
Maple 4 TTC
Ta xét một số vấn đề cơ bản trong Toán tài chính và sử dụng phần mềm MAPLE để hỗ trợ
việc tính toán: lập các hàm tài chính, vẽ đồ thị và sử dụng một số thủ tục sẵn có trong
MAPLE.
Cũng có thể sử dụng các hàm số đó để tìm yếu tố thứ 4 khi đã biết 3 yếu tố khác.
Xét bài toán sau: Biết số tiền thu được theo lãi gộp là 7200 USD sau 10 năm với lãi suất
9%/năm, tìm số tiền đầu tư ban đầu:
> C0g:=fsolve(Cg(C,0.09,10)=7200,C);
C0g := 3041.357809
Bài toán về cách tìm C0g và Cng cũng là bài toán về cách tìm giá trị hiện tại và giá trị
tương lai của tiền tệ theo lãi gộp.
Việc đi tìm lãi suất i khi biết C, Cg, n được nêu qua ví dụ sau: Biết số tiền thu được theo
lãi gộp là 7200 USD sau 10 năm, và số tiền đầu tư ban đầu là 3000 USD, tìm lãi suất i:
> Laisuat:=fsolve(Cg(3000,i,10)=7200,i,0..1);
Laisuat := 0.09149342562
1
Qua đồ thị ta biết được sự chênh lệch giữa hai số tiền thu được từ thời kỳ thứ 1 đến 11.
> restart:
> Vn:=(A,i)->add(A[k]*(1+i)^(n-k),k=1..n):
V0:=(A,i)->add(A[k]*(1+i)^(-k),k=1..n):
Để tính Vn và V0 ta đưa mảng A và i vào hàm số.
Chẳng hạn cho dãy gồm 6 niên kim A = {1, 2, 3, 4, 5, 6} với lãi suất 9%/năm, tính giá trị
thu được Vn và giá trị hiện tại V0 của dãy:
> A:=[1,2,3,4,5,6]; n:=nops(A):Vn(A,0.09); V0(A,0.09);
A := [1, 2, 3, 4, 5, 6]
24.44927418
14.57830336
Biết các giá trị Vn và V0 ta có thể tìm lãi suất. Với Vn = 24, ta tìm được lãi suất:
> fsolve(Vn(A,i)=24,i,0..1);
0.07914496864
Tuy nhiên với dãy có n niên kim cố định a, ta xây dựng trực tiếp các hàm tìm giá trị thu
được và giá trị hiện tại qua hàm 3 biến Vcdn(a, i, n) và Vcd0(a, i, n).
2
(1 + i ) n − 1 1 − (1 + i ) − n
Vcdn = a ; Vcd 0 = a
i i
> Vcdn:=(a,i,n)->a*(((1+i)^n-1)/i):
Vcd0:=(a,i,n)->a*((1-(1+i)^(-n))/i):
Tìm giá trị hiện tại và giá trị thu được của chuỗi 10 niên kim cố định với a = 30, i = 9%
> Vcd0(30,0.09,10); Vcdn(30,0.09,10);
192.5297310
455.7878917
Ta có thể tìm 1 yếu tố còn lại khi đã biết 3 yếu tố khác (thông thường yếu tố n đã được
biết). Biết giá trị hiện tại Vcd0 = 192, i = 9% và n = 10, tìm niên kim a:
> Nienkim:=fsolve(Vcd0(a,0.09,10)=192,a);
Nienkim := 29.91745726
hay biết giá trị thu được Vcdn = 455, i = 9% và n = 10, tìm niên kim a:
> Nienkim:=fsolve(Vcdn(a,0.09,10)=455,a);
Nienkim := 29.94814090
Tương tự, biết giá trị hiện tại Vcd0 = 192, a = 30 và n = 10, tìm lãi suất i:
> Laisuat:=fsolve(Vcd0(30,i,10)=192,i);
Laisuat := 0.09062643287
hay biết giá trị thu được Vcdn = 455, a = 30 và n = 10, tìm lãi suất i:
> Laisuat:=fsolve(Vcdn(30,i,10)=455,i);
Laisuat := 0.08963746142
Nếu NPV > 0 thì dự án khả thi theo lãi suất đầu tư i dự định.
> restart:
> CF:=Thu-Ch:NPV:=(CF,i)->add(CF[k]*(1+i)^(-k+1),k=1..n):
NFV:=(CF,i)->add(CF[k]*(1+i)^(n-k),k=1..n):
Cho hai dãy Thu và Ch sau:
> Thu:=[0,0,0,3,3,1]:Ch:=[4,1,0,0,0,0]:n:=nops(Thu):
Với lãi suất đầu tư giả định là 9%, tính NPV, NFV:
npv:=NPV(CF,0.09);nfv:=NFV(CF,0.09);
3
npv := 0.1743262663
nfv := 0.268222570
Vì NPV > 0, nên dự án khả thi với lãi suất 9%. Tuy nhiên với lãi suất 12%, ta có:
> npv:=NPV(CF,0.12);
npv := -0.2835353093
NPV < 0 nên dự án không khả thi với lãi suất 12%.
Tìm lãi suất IRR - lãi suất làm cho NPV = 0.
> IRR:=fsolve(NPV(CF,r)=0,r,0..1);
IRR := 0.1009520848
Giá trị IRR chính là giá trị mà đường NPV cắt trục r
4. Thị trường chứng khoán: Hợp đồng quyền chọn mua (call option)
Trong các phần trên, ta lập trực tiếp các hàm tài chính cần quan tâm. Tuy nhiên, MAPLE
có gói thủ tục (package) Finance để tính toán một số vấn đề trong Tài chính. Gọi gói này
bằng:
> with(finance):
Ta nêu cách dùng thủ tục blackscholes trong gói Finance.
Xét các call option kiểu Mỹ. Giả sử một call option có giá thực hiện là 49 U (đơn vị tiền
tệ), và còn 199 ngày là đến ngày đáo hạn. Hiện một call option đó đang được bán với giá
50 U. Giả sử phương sai của giá cổ phiếu là 0,09 năm và lãi suất phi rủi ro là 7%/năm. Sử
dụng mô hình Black-Scholes, ta tính được giá quyền chọn (option value) của call option
đang xét. Thủ tục gọi blackscholes có 5 tham số: giá cổ phiếu, giá thực hiện, lãi suất phi
rủi ro, số năm tính đến ngày đáo hạn, căn bậc hai của phương sai giá cổ phiếu. Ở đây số
năm là 199/365.
> evalf(blackscholes(50.00,49.00,0.07,199/365,sqrt(0.09))):
5.849179520
4
Thể hiện giá quyền chọn là một hàm của giá cổ phiếu:
> f:=x->evalf(blackscholes(x,49.00,0.07,199/365,sqrt(0.09))):
Nếu muốn giá quyền chọn ngày hôm đó đạt mức 6,5 thì phải chờ giá cổ phiếu đạt mức:
> solve(f(x)=6.5,x);
50.98296423
Ta vẽ đồ thị của mối quan hệ này với giá cổ phiếu biến thiên từ 30 U đến 100 U:
> with(plots): plot( f(x), x=30..100);
Nếu độ bấp bênh (giao động) của giá cổ phiếu tăng 0,01
> evalf(blackscholes(50, 49,0.07,199/365,sqrt(0.09+0.01)));
6.072347530
5. Kết luận
Việc tự thiết lập các hàm tài chính cần nghiên cứu cho phép giải quyết các vấn đề theo yêu
cầu đặt ra một cách linh hoạt. Cũng có thể sử dụng các thủ tục sẵn có trong MAPLE để xử
lý một số bài toán trong Toán tài chính.
MAPLE trợ giúp đắc lực cho viêc giảng dạy và nghiên cứu Toán tài chính.