Q1[N], // нач. портфель
P1[N], // нач. цены
Cush,S; // деньги
float S1,S2;
int k,maxk,i;
T[0]=58;
T[1]=37;
T[2]=72;
T[3]=107;
T[4]=135;
T[5]=163;
T[6]=303;
T[7]=359;
randomize();
Cush=200000; // 2 миллиарда
maxk=0;
clrscr();
for (k=0;k<N;k++) {
D[k]=28+float(random(400))/100;
P[k]=100/pow((D[k]/1200+1),T[k]/30);
P1[k]=P[k];
Q[k]=Q1[k]=0;
if (D[maxk]<D[k]) maxk=k;
printf(" %f %f",D[k],P[k]);
}
Q1[maxk]=Q[maxk]=int(Cush/(P[maxk]*1.001));
Cush=Cush-Q[maxk]*P[maxk]*1.001;
printf(" %d %f %f",maxk,Q1[maxk],Cush);
S=0;
for (k=0;k<N;k++) S+=Q[k]*P[k];
for (i=1;i<=21;i++) {
maxk=0;
for (k=0;k<N;k++) {
D[k]=28-i/10+float(random(200))/100;
P[k]=100/pow((D[k]/1200+1),(T[k]-i)/30);
if (D[maxk]<D[k]) maxk=k;
}
for (k=0;k<N;k++) {
if (Q[k]>0)
if (D[k]+1<D[maxk]) {
Cush+=P[k]*Q[k]*0.999;
Q[maxk]+=int(Cush/(P[maxk]*1.001));
Cush=Cush-Q[maxk]*P[maxk]*1.001;
Q[k]=0;
}
}
printf(" деньги %f",Cush);
for (k=0;k<N;k++) {
printf(" Q[%d]= %f",k,Q[k]);
}
asm {
mov ax,0
int 16h
}
}
S1=S2=0;
for (k=0;k<N;k++) {
S1+=Q1[k]*P[k];
S2+=Q[k]*P[k];
}
printf(" нач.ст-ть :%fбыло бы :%f есть:%f",S,S1,S2);
}
Программа 4.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
const N=8;
void main(void) {
float Q[N], // кол-во
P[N], // цена
T[N], // дней до погашения
D[N], // дох-ть эффективная
Q1[N], // нач. портфель
P1[N], // нач. цены
Cush,QQ,S; // деньги
float S1,S2;
int k,maxk,i;
T[0]=58;
T[1]=37;
T[2]=72;
T[3]=107;
T[4]=135;
T[5]=163;
T[6]=303;
T[7]=359;
randomize();
Cush=0;
maxk=0;
clrscr();
for (k=0;k<N;k++) {
Q1[k]=Q[k]=100;
D[k]=28+float(random(400))/100;
P[k]=100/pow((D[k]/1200+1),T[k]/30);
}
S=0;
for (k=0;k<N;k++) S+=Q[k]*P[k];
for (i=1;i<=21;i++) {
maxk=0;
for (k=0;k<N;k++) {
D[k]=28-i+float(random(400))/100;
P[k]=100/pow((D[k]/1200+1),(T[k]-i)/30);
if (D[maxk]<D[k]) maxk=k;
}
for (k=0;k<N;k++) {
if (Q[k]>0)
if (D[k]+1<=D[maxk]) {
Cush+=P[k]*Q[k]*0.999;
QQ=int(Cush/(P[maxk]*1.001));
Q[maxk]+=QQ;
Cush=Cush-QQ*P[maxk]*1.001;
Q[k]=0;
}
}
printf(" деньги %f",Cush);
for (k=0;k<N;k++) {
printf(" Q[%d]= %f",k,Q[k]);
}
asm {
mov ax,0
int 16h
}
}
S1=S2=0;
for (k=0;k<N;k++) {
S1+=Q1[k]*P[k];
S2+=Q[k]*P[k];
}
printf(" нач.ст-ть :%fбыло бы :%f есть:%f",S,S1,S2);
}
Программа 5.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
const N=8;
void main(void) {
float Q[N], // кол-во
P[N], // цена
T[N], // дней до погашения
D[N], // дох-ть эффективная
Q1[N], // нач. портфель
P1[N], // нач. цены
Cush,S; // деньги
float S1,S2;
int k,maxk,i;
T[0]=58;
T[1]=37;
T[2]=72;
T[3]=107;
T[4]=135;
T[5]=163;
T[6]=303;
T[7]=359;
randomize();
Cush=200000; // 2 миллиарда
maxk=0;
clrscr();
for (k=0;k<N;k++) {
D[k]=28+float(random(400))/100;
P[k]=100/pow((D[k]/1200+1),T[k]/30);
P1[k]=P[k];
Q[k]=Q1[k]=0;
if (D[maxk]<D[k]) maxk=k;
printf(" %f %f",D[k],P[k]);
}
Q1[maxk]=Q[maxk]=int(Cush/(P[maxk]*1.001));
Cush=Cush-Q[maxk]*P[maxk]*1.001;
printf(" %d %f %f",maxk,Q1[maxk],Cush);
S=0;
for (k=0;k<N;k++) S+=Q[k]*P[k];
for (i=1;i<=21;i++) {
maxk=0;
for (k=0;k<N;k++) {
D[k]=28+i+float(random(400))/100;
P[k]=100/pow((D[k]/1200+1),(T[k]-i)/30);
if (D[maxk]<D[k]) maxk=k;
}
for (k=0;k<N;k++) {
if (Q[k]>0)
if (D[k]+1<D[maxk]) {
Cush+=P[k]*Q[k]*0.999;
Q[maxk]+=int(Cush/(P[maxk]*1.001));
Cush=Cush-Q[maxk]*P[maxk]*1.001;
Q[k]=0;
}
}
printf(" деньги %f",Cush);
for (k=0;k<N;k++) {
printf(" Q[%d]= %f",k,Q[k]);
}
asm {
mov ax,0
int 16h
}
}
S1=S2=0;
for (k=0;k<N;k++) {
S1+=Q1[k]*P[k];
S2+=Q[k]*P[k];
}
printf(" нач.ст-ть :%fбыло бы :%f есть:%f",S,S1,S2);
}
Программа 6.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
const N=8;
void main(void) {
float Q[N], // кол-во
P[N], // цена
T[N], // дней до погашения
D[N], // дох-ть эффективная
Q1[N], // нач. портфель
P1[N], // нач. цены
Cush,QQ,S; // деньги
float S1,S2;
int k,maxk,i;
T[0]=58;
T[1]=37;
T[2]=72;
T[3]=107;
T[4]=135;
T[5]=163;
T[6]=303;
T[7]=359;
randomize();
Cush=0;
maxk=0;
clrscr();
for (k=0;k<N;k++) {
Q1[k]=Q[k]=100;
D[k]=28+float(random(400))/100;
P[k]=100/pow((D[k]/1200+1),T[k]/30);
}
S=0;
for (k=0;k<N;k++) S+=Q[k]*P[k];
for (i=1;i<=21;i++) {
maxk=0;
for (k=0;k<N;k++) {
D[k]=28+i+float(random(400))/100;
P[k]=100/pow((D[k]/1200+1),(T[k]-i)/30);
if (D[maxk]<D[k]) maxk=k;
}
for (k=0;k<N;k++) {
if (Q[k]>0)
if (D[k]+1<=D[maxk]) {
Cush+=P[k]*Q[k]*0.999;
QQ=int(Cush/(P[maxk]*1.001));
Q[maxk]+=QQ;
Cush=Cush-QQ*P[maxk]*1.001;
Q[k]=0;
}
}
printf(" деньги %f",Cush);
for (k=0;k<N;k++) {
printf(" Q[%d]= %f",k,Q[k]);
}
asm {
mov ax,0
int 16h
}
}
S1=S2=0;
for (k=0;k<N;k++) {
S1+=Q1[k]*P[k];
S2+=Q[k]*P[k];
}
printf(" нач.ст-ть :%fбыло бы :%f есть:%f",S,S1,S2);
}
Приложение 5. Последние цены и эффективная доходность к погашению на рынке РКО с 1 по 30 апреля 1997 г.
Дата | № бумаги | Цена посл | Дох-ть эфф-я к погашению | Дата погашения | Налог на ЦБ(в %) |
01.04.97 |
21020 |
99,25 |
27,78 |
10.04.97 |
0 |
01.04.97 |
21021 |
95,82 |
29,98 |
15.05.97 |
15 |
01.04.97 |
22004 |
97,90 |
32,90 |
24.04.97 |
0 |
01.04.97 |
22006 |
93,00 |
33,61 |
19.06.97 |
0 |
01.04.97 |
22007 |
90,00 |
28,84 |
24.07.97 |
15 |
01.04.97 |
22008 |
86,90 |
29,47 |
28.08.97 |
15 |
01.04.97 |
22009 |
84,10 |
30,64 |
25.09.97 |
15 |
01.04.97 |
24001 |
73,00 |
28,60 |
12.03.98 |
15 |
02.04.97 |
21020 |
99,25 |
31,30 |
10.04.97 |
0 |
02.04.97 |
21021 |
95,69 |
31,70 |
15.05.97 |
15 |
02.04.97 |
22004 |
97,92 |
34,07 |
24.04.97 |
0 |
02.04.97 |
22005 |
94,90 |
33,47 |
29.05.97 |
0 |
02.04.97 |
22006 |
93,19 |
33,07 |
19.06.97 |
0 |
02.04.97 |
22007 |
90,99 |
26,02 |
24.07.97 |
15 |
02.04.97 |
22008 |
86,94 |
29,57 |
28.08.97 |
15 |
02.04.97 |
22009 |
84,00 |
31,04 |
25.09.97 |
15 |
02.04.97 |
24001 |
73,00 |
28,69 |
12.03.98 |
15 |
03.04.97 |
21020 |
99,30 |
33,14 |
10.04.97 |
0 |
03.04.97 |
21021 |
95,60 |
33,18 |
15.05.97 |
15 |
03.04.97 |
22004 |
98,01 |
34,08 |
24.04.97 |
0 |
03.04.97 |
22005 |
95,09 |
32,74 |
29.05.97 |
0 |
03.04.97 |
22006 |
93,31 |
32,88 |
19.06.97 |
0 |
03.04.97 |
22007 |
90,55 |
27,63 |
24.07.97 |
15 |
03.04.97 |
22008 |
87,10 |
29,38 |
28.08.97 |
15 |
03.04.97 |
22009 |
84,00 |
31,22 |
25.09.97 |
15 |
03.04.97 |
24001 |
72,95 |
28,83 |
12.03.98 |
15 |
04.04.97 |
21020 |
99,40 |
32,45 |
10.04.97 |
0 |
04.04.97 |
21021 |
95,80 |
32,37 |
15.05.97 |
15 |
04.04.97 |
22004 |
98,20 |
32,18 |
24.04.97 |
0 |
04.04.97 |
22005 |
95,20 |
32,55 |
29.05.97 |
0 |
04.04.97 |
22006 |
93,39 |
32,90 |
19.06.97 |
0 |
04.04.97 |
22007 |
90,83 |
27,00 |
24.07.97 |
15 |
04.04.97 |
22008 |
86,70 |
30,59 |
28.08.97 |
15 |
04.04.97 |
22009 |
84,06 |
31,27 |
25.09.97 |
15 |
04.04.97 |
24001 |
72,80 |
29,11 |
12.03.98 |
15 |
07.04.97 |
21020 |
99,65 |
33,98 |
10.04.97 |
0 |
07.04.97 |
21021 |
96,00 |
33,21 |
15.05.97 |
15 |
07.04.97 |
22004 |
98,40 |
33,45 |
24.04.97 |
0 |
07.04.97 |
22005 |
95,44 |
32,64 |
29.05.97 |
0 |
07.04.97 |
22006 |
93,64 |
32,89 |
19.06.97 |
0 |
07.04.97 |
22007 |
91,20 |
26,56 |
24.07.97 |
15 |
07.04.97 |
22008 |
88,40 |
26,91 |
28.08.97 |
15 |
07.04.97 |
22009 |
84,30 |
31,29 |
25.09.97 |
15 |
07.04.97 |
24001 |
73,05 |
29,05 |
12.03.98 |
15 |
08.04.97 |
21020 |
99,75 |
32,40 |
10.04.97 |
0 |
08.04.97 |
21021 |
96,65 |
28,30 |
15.05.97 |
15 |
08.04.97 |
22004 |
98,45 |
34,38 |
24.04.97 |
0 |
08.04.97 |
22005 |
95,51 |
32,75 |
29.05.97 |
0 |
08.04.97 |
22006 |
93,84 |
32,25 |
19.06.97 |
0 |
08.04.97 |
22007 |
91,20 |
26,81 |
24.07.97 |
15 |
08.04.97 |
22008 |
87,25 |
30,04 |
28.08.97 |
15 |
08.04.97 |
22009 |
84,70 |
30,59 |
25.09.97 |
15 |
08.04.97 |
24001 |
73,00 |
29,20 |
12.03.98 |
15 |
09.04.97 |
21020 |
99,87 |
20,27 |
10.04.97 |
0 |
09.04.97 |
21021 |
96,20 |
33,24 |
15.05.97 |
15 |
09.04.97 |
22004 |
98,55 |
34,16 |
24.04.97 |
0 |
09.04.97 |
22005 |
95,70 |
31,93 |
29.05.97 |
0 |
09.04.97 |
22006 |
93,60 |
34,06 |
19.06.97 |
0 |
09.04.97 |
22007 |
91,00 |
27,73 |
24.07.97 |
15 |
09.04.97 |
22008 |
87,60 |
29,35 |
28.08.97 |
15 |
09.04.97 |
22009 |
84,85 |
30,44 |
25.09.97 |
15 |
09.04.97 |
24001 |
73,20 |
29,03 |
12.03.98 |
15 |
11.04.97 |
21021 |
97,00 |
27,45 |
15.05.97 |
15 |
11.04.97 |
21022 |
92,08 |
28,55 |
10.07.97 |
15 |
11.04.97 |
22004 |
99,10 |
23,49 |
24.04.97 |
0 |
11.04.97 |
22005 |
96,20 |
29,21 |
29.05.97 |
0 |
11.04.97 |
22006 |
94,25 |
31,30 |
19.06.97 |
0 |
11.04.97 |
22007 |
91,70 |
25,93 |
24.07.97 |
15 |
11.04.97 |
22008 |
88,25 |
28,09 |
28.08.97 |
15 |
11.04.97 |
22009 |
85,39 |
29,60 |
25.09.97 |
15 |
11.04.97 |
24001 |
73,50 |
28,82 |
12.03.98 |
15 |
14.04.97 |
21021 |
97,01 |
30,04 |
15.05.97 |
15 |
14.04.97 |
21022 |
92,39 |
28,32 |
10.07.97 |
15 |
14.04.97 |
22004 |
99,07 |
31,75 |
24.04.97 |
0 |
14.04.97 |
22005 |
96,54 |
28,26 |
29.05.97 |
0 |
14.04.97 |
22006 |
94,50 |
31,24 |
19.06.97 |
0 |
14.04.97 |
22007 |
91,79 |
26,40 |
24.07.97 |
15 |
14.04.97 |
22008 |
88,00 |
29,38 |
28.08.97 |
15 |
14.04.97 |
22009 |
85,50 |
29,90 |
25.09.97 |
15 |
14.04.97 |
24001 |
73,50 |
29,08 |
12.03.98 |
15 |
15.04.97 |
21021 |
97,52 |
25,49 |
15.05.97 |
15 |
15.04.97 |
21022 |
92,50 |
28,21 |
10.07.97 |
15 |
15.04.97 |
22004 |
99,45 |
19,47 |
24.04.97 |
0 |
15.04.97 |
22005 |
96,69 |
27,59 |
29.05.97 |
0 |
15.04.97 |
22006 |
95,05 |
28,39 |
19.06.97 |
0 |
15.04.97 |
22007 |
92,00 |
25,94 |
24.07.97 |
15 |
15.04.97 |
22008 |
88,01 |
29,57 |
28.08.97 |
15 |
15.04.97 |
22009 |
86,08 |
28,76 |
25.09.97 |
15 |
15.04.97 |
24001 |
73,60 |
29,04 |
12.03.98 |
15 |
16.04.97 |
21021 |
97,84 |
22,79 |
15.05.97 |
15 |
16.04.97 |
21022 |
92,86 |
27,09 |
10.07.97 |
15 |
16.04.97 |
22004 |
99,60 |
14,95 |
24.04.97 |
0 |
16.04.97 |
22005 |
96,80 |
27,25 |
29.05.97 |
0 |
16.04.97 |
22006 |
95,10 |
28,53 |
19.06.97 |
0 |
16.04.97 |
22007 |
92,90 |
23,08 |
24.07.97 |
15 |
16.04.97 |
22008 |
88,49 |
28,50 |
28.08.97 |
15 |
16.04.97 |
22009 |
86,80 |
27,30 |
25.09.97 |
15 |
16.04.97 |
24001 |
73,57 |
29,17 |
12.03.98 |
15 |
17.04.97 |
21021 |
97,55 |
26,98 |
15.05.97 |
15 |
17.04.97 |
21022 |
92,43 |
29,18 |
10.07.97 |
15 |
17.04.97 |
22004 |
99,64 |
14,98 |
24.04.97 |
0 |
17.04.97 |
22005 |
96,60 |
29,75 |
29.05.97 |
0 |
17.04.97 |
22006 |
95,19 |
28,43 |
19.06.97 |
0 |
17.04.97 |
22007 |
92,03 |
26,37 |
24.07.97 |
15 |
17.04.97 |
22008 |
88,75 |
28,02 |
28.08.97 |
15 |
17.04.97 |
22009 |
86,70 |
27,70 |
25.09.97 |
15 |
17.04.97 |
24001 |
73,61 |
29,21 |
12.03.98 |
15 |
21.04.97 |
21021 |
97,85 |
27,47 |
15.05.97 |
15 |
21.04.97 |
21022 |
92,45 |
30,57 |
10.07.97 |
15 |
21.04.97 |
22004 |
99,81 |
14,09 |
24.04.97 |
0 |
21.04.97 |
22005 |
96,81 |
30,78 |
29.05.97 |
0 |
21.04.97 |
22006 |
95,20 |
30,32 |
19.06.97 |
0 |
21.04.97 |
22008 |
88,21 |
30,41 |
28.08.97 |
15 |
21.04.97 |
22009 |
86,25 |
29,47 |
25.09.97 |
15 |
21.04.97 |
24001 |
73,51 |
29,70 |
12.03.98 |
15 |
22.04.97 |
21021 |
97,90 |
27,97 |
15.05.97 |
15 |
22.04.97 |
21022 |
92,65 |
30,09 |
10.07.97 |
15 |
22.04.97 |
22004 |
99,90 |
4,58 |
24.04.97 |
0 |
22.04.97 |
22005 |
96,95 |
30,16 |
29.05.97 |
0 |
22.04.97 |
22006 |
95,45 |
29,16 |
19.06.97 |
0 |
22.04.97 |
22007 |
92,55 |
25,88 |
24.07.97 |
15 |
22.04.97 |
22008 |
88,72 |
29,21 |
28.08.97 |
15 |
22.04.97 |
22009 |
86,32 |
29,50 |
25.09.97 |
15 |
22.04.97 |
24001 |
74,00 |
29,14 |
12.03.98 |
15 |
23.04.97 |
21021 |
98,17 |
25,27 |
15.05.97 |
15 |
23.04.97 |
21022 |
93,05 |
28,72 |
10.07.97 |
15 |
23.04.97 |
22004 |
99,91 |
5,51 |
24.04.97 |
0 |
23.04.97 |
22005 |
97,20 |
28,34 |
29.05.97 |
0 |
23.04.97 |
22006 |
95,50 |
29,33 |
19.06.97 |
0 |
23.04.97 |
22007 |
92,61 |
25,94 |
24.07.97 |
15 |
23.04.97 |
22008 |
88,90 |
28,94 |
28.08.97 |
15 |
23.04.97 |
22009 |
86,55 |
29,14 |
25.09.97 |
15 |
23.04.97 |
24001 |
74,05 |
29,17 |
12.03.98 |
15 |
25.04.97 |
21021 |
98,70 |
19,30 |
15.05.97 |
15 |
25.04.97 |
21022 |
93,75 |
26,35 |
10.07.97 |
15 |
25.04.97 |
22005 |
97,60 |
25,52 |
29.05.97 |
0 |
25.04.97 |
22006 |
95,99 |
26,94 |
19.06.97 |
0 |
25.04.97 |
22008 |
89,89 |
26,58 |
28.08.97 |
15 |
25.04.97 |
22009 |
87,55 |
27,14 |
25.09.97 |
15 |
25.04.97 |
22010 |
85,25 |
27,57 |
23.10.97 |
15 |
25.04.97 |
24001 |
75,00 |
28,09 |
12.03.98 |
15 |
28.04.97 |
21021 |
98,70 |
22,74 |
15.05.97 |
15 |
28.04.97 |
21022 |
93,50 |
28,61 |
10.07.97 |
15 |
28.04.97 |
22005 |
97,70 |
26,79 |
29.05.97 |
0 |
28.04.97 |
22006 |
96,40 |
25,45 |
19.06.97 |
0 |
28.04.97 |
22007 |
93,30 |
24,74 |
24.07.97 |
15 |
28.04.97 |
22009 |
88,50 |
25,40 |
25.09.97 |
15 |
28.04.97 |
22010 |
86,50 |
25,44 |
23.10.97 |
15 |
28.04.97 |
24001 |
76,01 |
27,02 |
12.03.98 |
15 |
29.04.97 |
21021 |
98,95 |
19,18 |
15.05.97 |
15 |
29.04.97 |
21022 |
94,04 |
26,47 |
10.07.97 |
15 |
29.04.97 |
22005 |
97,90 |
25,15 |
29.05.97 |
0 |
29.04.97 |
22006 |
96,50 |
25,20 |
19.06.97 |
0 |
29.04.97 |
22007 |
93,80 |
23,06 |
24.07.97 |
15 |
29.04.97 |
22009 |
88,60 |
25,33 |
25.09.97 |
15 |
29.04.97 |
22010 |
86,35 |
25,89 |
23.10.97 |
15 |
29.04.97 |
24001 |
76,48 |
26,48 |
12.03.98 |
15 |
30.04.97 |
21021 |
99,20 |
15,16 |
15.05.97 |
15 |
30.04.97 |
21022 |
94,56 |
24,38 |
10.07.97 |
15 |
30.04.97 |
22005 |
98,50 |
18,20 |
29.05.97 |
0 |
30.04.97 |
22006 |
96,78 |
23,55 |
19.06.97 |
0 |
30.04.97 |
22008 |
90,70 |
25,33 |
28.08.97 |
15 |
30.04.97 |
22009 |
89,45 |
23,46 |
25.09.97 |
15 |
30.04.97 |
22010 |
86,63 |
25,46 |
23.10.97 |
15 |
30.04.97 |
24001 |
77,30 |
25,50 |
12.03.98 |
15 |