4.  Описание программы

Программа написана на языке программирования Delphi.Версия 5.0. Имеет дружественный интерфейс, который очень прост в управлении. Для построения графика выберите вкладку с названием соответствующего метода и нажмите кнопку с названием "Построить график". После чего для анализа перейдите на вкладку "Анализ методов". И нажмите на кнопку "Результат".Все выходные данные находятся в окошечке справа. На вкладке "Дополнительно" осуществляется выбор (длина) окна, также приведены гиперссылки на сайты с котировками акций (http://www.rts.ru) и Банка России (http://www.cbr.ru) и график ставки рефинансирования.



.


5. Листинг

Процедура вывода результатов

procedure TForm1.Button11Click(Sender: TObject);

 var i,chislo,pr,po,x : integer;

ak : integer; // число акций на руках

mon : integer; // деньги в наших руках

nac,n1,n2,n3,ref : double;

begin

try

 mon:=1000*strtoint(edit10.text);

ak:=1000*strtoint(edit11.text);

 except

showmessage('При вводе была допущена ошибка');

edit10.text:='100';

edit11.text:='10';

exit;

 end;

if (mon=0) and (ak=0) then

begin

showmessage('Так не интересно');

exit;

end;

nac:=round(ak*strtofloat(izm(realn[0])))+mon;

n1:=nac*28.2*0.25*463/365;

n2:=nac*0.23*28.2*120/365;

n3:=nac*28.2*0.21*75/365;

ref:=nac+(n1+n2+n3)/31.6;

chislo:=length(a3);

pr:=0; po:=0;

if length(a3)>0 then begin

for i:=low(a3) to high(a3) do

if a3[i]=1 then inc(po)

else inc(pr);

if a3[0]=1 then begin

ak:=ak+round(mon/strtofloat(izm(realn[b3[0]])));

mon:=0;

end

else begin

 mon:=round(ak*strtofloat(izm(realn[b3[0]])))+mon;

ak:=0;

end;

for i:=low(a3)+1 to high(a3) do

begin

if (a3[i]=1) and (b3[i]<d) then begin

ak:=round(mon/strtofloat(izm(realn[b3[i]])));

 mon:=0;

end;

if (a3[i]=2) and (b3[i]<d) then

begin

mon:=round(ak*strtofloat(izm(realn[b3[i]])));

ak:=0;

end;

end;

if a3[length(a3)-1]=1 then x:=1

else x:=0;

if mon=0 then mon:=round(ak*strtofloat(izm(realn[d-1])));

memo4.Clear;

memo4.Lines.Add('Статистика за период:');

memo4.Lines.Add('1 января 2001 года - 20 октября 2002 года');

memo4.Lines.Add('Анализ проведен для плеч с длинами '+inttostr(plecho1)+' и '+inttostr(plecho2));

memo4.Lines.Add('Начальный капитал (в тысячах USD) : '+edit10.text);

memo4.Lines.Add('Начальное число акций (в тысячах штук) : '+edit11.text);

memo4.Lines.Add('Общая сумма (в тысячах USD) : '+floattostr(nac));

memo4.Lines.Add('Число операций с акциями РАО ЕЭС Россия : '+inttostr(chislo+x));

memo4.Lines.Add('В том числе покупок акций : '+inttostr(po));

memo4.Lines.Add('В том числе продаж акций : '+inttostr(pr+x));

memo4.Lines.Add('Сумма капитала в USD на 21 октября 2002 года : '+inttostr(mon));

memo4.Lines.Add('Эффективность метода : '+floattostr(round((mon-nac)*365*100/(nac*658)))+' %');

memo4.Lines.Add('Сумма капитала при рефинансировании в USD на 21 октября 2002 года: '+floattostr(round(ref)) +'');

memo4.Lines.Add('Эффективность рефинансирования '+floattostr(round((ref-nac)*365*100/(nac*658))) +' %');

end

else

begin

memo4.Clear;

memo4.Lines.Add('Статистика за период:');

memo4.Lines.Add('1 января 2001 года - 20 октября 2002 года');

memo4.Lines.Add('Анализ проведен для плеч с длинами '+inttostr(plecho1)+' и '+inttostr(plecho2));

memo4.Lines.Add('Начальный капитал (в тысячах USD) : '+edit10.text);

memo4.Lines.Add('Начальное число акций (в тысячах штук) : '+edit11.text);

memo4.Lines.Add('Общая сумма (в тысячах USD) : '+floattostr(nac));

memo4.Lines.Add('Число операций с акциями РАО ЕЭС Россия : '+inttostr(chislo));

memo4.Lines.Add('В том числе покупок акций : '+inttostr(po));

memo4.Lines.Add('В том числе продаж акций : '+inttostr(pr));

memo4.Lines.Add('Сумма капитала в USD на 21 октября 2002 года : '+floattostr(nac));

memo4.Lines.Add('Эффективность метода : 0%');

memo4.Lines.Add('Сумма капитала при рефинансировании в USD на 21 октября 2002 года: '+floattostr(round(ref)) +'');

memo4.Lines.Add('Эффективность рефинансирования '+floattostr(round((ref-nac)*365*100/(nac*658))) +' %');

end;

end;

процедура вывода графика, построенного методом экспоненциальных скользящих

procedure TForm1.Button8Click(Sender: TObject);

var i,k,sc,sc1,tec,i1 : integer;

pologen5 : string;

predpologen5 : string;

izm1,izm2 : boolean;

begin

// переменные per5, per13 нужны для фиксации последнего перехода через реальные цены

// если значение 0 - перехода не было

// если значение 1 - переход снизу вверх {продажа}

// если значение 2 - переход сверху вниз (покупка)

tec:=0;

// setlength(vfive,plecho1);

// setlength(vthirt,plecho2);

sc1:=1; i:=0;

graffive[0]:=realn[0];

grafthirt[0]:=realn[0];

//izm1:=false;

While i<d-1 do

begin

five[i]:=realn[i];

thirt[i]:=realn[i];

izm2:=false ;i:=tec;

predpologen5:='pusto';

while (izm2=false) and (i<d-1) do

begin

five[i+1]:=floattostr(strtofloat(izm(five[i]))+(2/(plecho1+1))*(strtofloat(izm(realn[i+1]))-strtofloat(izm(five[i]))));

graffive[i+1]:=five[i+1];

 //закончили формирование плеча длиной 5

 // начинаем формирование плеча длиной 13

thirt[i+1]:=floattostr(strtofloat(izm(thirt[i]))+(2/(plecho2+1))*(strtofloat(izm(realn[i+1]))-strtofloat(izm(thirt[i]))));

grafthirt[i]:=thirt[i];

if strtofloat(izm(five[i+1]))>strtofloat(izm(thirt[i+1])) then pologen5:='v'

else pologen5:='n';

if (pologen5='v') and (predpologen5='n') then

// покупка

if sc1=1 then begin

setlength(a3,sc1);

a3[sc1-1]:=1;

setlength(b3,sc1);

b3[sc1-1]:=i+2;

inc(sc1);

tec:=i+1;

izm2:=true;

// izm1:=true;

end

else if a3[sc1-2]=2 then

begin

// покупка

setlength(a3,sc1);

a3[sc1-1]:=1;

setlength(b3,sc1);

b3[sc1-1]:=i+2;

inc(sc1);

tec:=i+1;

izm2:=true;

// izm1:=true;

end;

if (pologen5='n') and (predpologen5='v') then

if sc1=1 then

begin

// продажа

setlength(a3,sc1);

a3[sc1-1]:=2;

setlength(b3,sc1);

b3[sc1-1]:=i+2;

inc(sc1);

tec:=i+1;

izm2:=true;

//izm1:=true;

end else if a3[sc1-2]=1 then

begin

// продажа

setlength(a3,sc1);

a3[sc1-1]:=2;

setlength(b3,sc1);

b3[sc1-1]:=i+2;

inc(sc1);

tec:=i+1;

izm2:=true;

//izm1:=true;

end;

predpologen5:=pologen5;

inc(i);

// if then goto Start;

end;

end;

chart4.AxisVisible:=true;

for i:=0 to d-2 do

begin

chart4.Series[1].addXY(i,strtofloat(izm(grafthirt[i])),inttostr(i),clBlue);

end;

for i:=0 to d-2 do

begin

chart4.Series[2].addXY(i,strtofloat(izm(realn[i])),inttostr(i),clRed);

end;

for i:=0 to d-2 do

begin

chart4.Series[0].addXY(i,strtofloat(izm(graffive[i])),inttostr(i),clGreen);

end;

for sc:=0 to length(a3)-1 do

if a3[sc]=1 then

chart4.Series[3].AddXY(b3[sc]-1,strtofloat(izm(realn[b3[sc]-1])),inttostr(i),clBlack)

else

chart4.Series[3].AddXY(b3[sc]-1,strtofloat(izm(realn[b3[sc]-1])),inttostr(i),clYellow);

 { if a[length(a)-1]=2 then

chart1.Series[3].AddXY(d-3,strtofloat(izm(realn[d-3])),'00',clYellow);}

button8.Enabled:=false;

button11.Enabled:=true;

end;


6. Результаты

 

При первоначальном капитале 100 тысяч USD и наличии 10 тысяч акций

Получены следующие эффективности методов :

Экспериментальный 1

Длина окон Эффективность (%)
5,13 23
5,8 5
8,13 22

Экспериментальный 2

Длина окон Эффективность (%)
5,13 1
5,8 -4
8,13 5

СС

Длина окон Эффективность (%)
5,13 0
5,8 0
8,13 0

ЭСС

Длина окон Эффективность (%)
5,13 17
5,8 18
8,13 5

При вложении средств в банк получена эффективность 22%.

8.  Ставка рефинансирования

9.   

 

Период Ставка
01/01/2001-04/08/2002 25%
04/09/2002-08/06/2002 23%
08/07/2002-10/20/2002 21%

 

Курс USD

 

1 ЯНВАРЯ 2001 Г. -28.2 РУБ

20 ОКТЯБРЯ 2002 Г- 31.6 РУБ


Информация о работе «Технический анализ рынка ценных бумаг на примере акций РАО ЕЭС Россия 2001-2002 гг.»
Раздел: Информатика, программирование
Количество знаков с пробелами: 15841
Количество таблиц: 5
Количество изображений: 3

Похожие работы

Скачать
185716
7
6

... важной составной частью как денежного рынка, так и рынка капиталов, которые в совокупности составляют финансовый рынок. Цель функционирования рынка ценных бумаг -как и всех финансовых рынков - состоит в том, чтобы обеспечивать наличие механизма для привлечения инвестиций в экономику путем установления необходимых контактов между теми, кто нуждается в средствах, и теми, кто хотел бы инвестировать ...

Скачать
169393
21
5

... есть угроза жизнеобеспечению. Решение этой проблемы – одна из основных задач.[13] ГЛАВА 2. МАКРО АНАЛИЗ КОНЦЕПЦИИ СТРАТЕГИИ НА 2003 – 2008 гг. «5+5»   2.1. Основные цели и задачи реструктуризации РАО «ЕЭС России» Основными целями реформирования электроэнергетической отрасли являются: - повышение эффективности предприятий электроэнергетики; - создание условий для развития отрасли на основе ...

Скачать
171539
20
2

... за финансовым состоянием инвестиционных институтов, принятие мер по их оздоровлению, контроль за соблюдением правовых и этических норм, применение санкций); – создание системы информации о состоянии рынка ценных бумаг и обеспечению ее открытости для инвесторов; – формирование системы страхования инвесторов от потерь (государственные или смешанные схемы страхования инвестиций); – предотвращение ...

Скачать
153075
3
0

... надо четко разграничить функции казначейства, Центрального банка и МНС. Другой вариант организационного решения проблемы состоит в серьезном изменении и перераспределении функций отдельных ведомств. 2.3 Перспективы развития рынка ценных бумаг в России Как видно из предыдущих параграфов настоящей работы рынок ценных бумаг в России переживает сложный, неустойчивый период формирования. За ...

0 комментариев


Наверх