Реферат: Технический анализ рынка ценных бумаг на примере акций РАО "ЕЭС Россия" 2001-2002 гг.

КазанскийГосударственный Университет

Курсовойпроект

Техническийанализ рынка ценных

 бумаг на примере акций РАО "ЕЭС Россия"

 2001-2002 г

                                                     Выполнил:

                                                       Студентгруппы981

                                                      ФисейскийС.В.

                                                     Принял :

                                                      Преподаватель

                                                       Лазарев А.А.

Казань 2002

Содержание :

1.<span Times New Roman""> 

Вступление

2.<span Times New Roman""> 

 Постановка задачи

3.<span Times New Roman""> 

Методы решения

А) Простые скользящие средние

Б) Экспоненциальные скользящие средние

4.<span Times New Roman""> 

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

5.<span Times New Roman""> 

Листинг

6.<span Times New Roman""> 

Результаты

7.<span Times New Roman""> 

Приложение (Ставка рефинансирования)

1.<span Times New Roman"">  

Вступление

Некотораяпроизвольность трактовки паттернов и сложность обмена идеями и мнениями втерминах графических образов подвигла аналитиков к разработке«независимого от наблюдателя» инструментария. Так появились различныеиндикаторы, т.е. вычисляемые по определенным формулам величины, позволяющие темили иным образом характеризовать текущее состояние рынка. Поначалуиспользование индикаторов в техническом анализе было прерогативой крупныхфинансовых институтов, но с появлением недорогих персональных компьютеров иприкладного ПО доступ к компьютерному анализу получила широкая публика.Современные средства позволяют терйдерамконструировать свои собственные индикаторы и автоматизированные системыанализа, но несмотря на бесчисленное количество, их можно разбить на двакрупных класса: индикаторы тренда (trend-following) иосцилляторы (oscillators). Некоторые, правда,занимают промежуточное положение, комбинируя в себе свойства обоих классов.Многие технические аналитики придерживаются мнения, что методы управлениякапиталом должны являться неотъемлемой частью любой торговой методикитехнического анализа, в особенности, направленной на минимизацию рискаинвестиций. Действительно, при оптимизации торговых методик с использованиемметодов управления капиталом часто можно добиться значительного увеличения ихэффективности. Однако, столь же часто бывает, что из-за недостатков, присущихметодам управления капиталом, инвестор не получает ожидаемого увеличенияэффективности торговых систем.

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

Существует несколько методов (форм) управлениякапиталом. Один из таких методов имеет название метода построения пирамиды илиметода Мартингейла и основан на использованиинекоторых характерных закономерностей, наблюдаемых в результатах торговойсистемы: чередование одиночных прибыльных и убыточных сделок или наличие серийубыточных и прибыльных сделок. Второй метод, имеющий название метода анализакривых доходностей, предусматривает построение двухскользящих средних по данным результатов сделок и на основе классическогометода анализа двух скользящих средних (анализ ситуаций их взаимногопересечения) определяет фазы низкой эффективности торговых сигналов, рекомендуяпри этом уменьшение размера открываемой позиции в такие периоды. Наиболеепопулярной из всех форм управления капиталом является использование в торговлеавтоматических приказов стоп-лосс, основной цельюкоторых является ограничение потерь при движении цены в направлении,противоположном открытой позиции.

2.<span Times New Roman"">  

Постановка задачи

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

Вследствиеэтого задачей данного курсового проекта является анализ эффективности применения методов среднего скользящего иэкспоненциального  скользящего нароссийском рынке ценных бумаг в 2001-2002 г. В качестве объектаисследования  берутся котировки акций РАО"ЕЭС Россия". Вычисления проводятся по средневзвешенным ценам.

Полученныерезультаты сравнитьс эффективностью вложения средств в Банк России на соответствующийпериод

3. Методы решения

а) Простые скользящиесредние

 

Пословам биржевых ветеранов, скользящие средние (СС) появились на американскихбиржах с легкой руки зенитчиков. Во время второй мировой войны они использовалиСС для наводки на самолеты, а впоследствии применили этот метод к ценам.Основоположниками биржевого метода СС были Ричард Дончиан(Richard Donchian) и Дж.М.Херст (J.M.Hurst) — обаотнюдь не зенитчики

Дончианбыл служащим фирмы «Меррилл Линч»; он разработал методику биржевой игры, основанную нанескольких СС. Херст был инженером; в книге«Чудо-прибыльность своевременных сделок с акциями» (TheProfit Magic of Stock TransactionTiming), ставшей биржевой классикой, он описалпринцип использования СС применительно к сделкам с акциями.

ССпоказывает среднее значение данных в ее окне (window)– периоде, который она охватывает. Так, 5-дневная СС показывает среднюю цену запоследние 5 дней, 20-дневная – за последние 20 дней, и т.д. Соединив точки ССкаждого из дней, получаем линию СС.

ПростаяСС = (c1+c2+ …+cN)/n

Где cIконечная цена насоответствующий (1-й, 2-й и т.д. по счету) день окна.

УровеньСС зависит от двух факторов: от конечных цен и окна СС. Допустим, требуетсявычислить трехдневную простую СС акции. Если ее конечная цена в первый, второйи третий по счету дни составила 19, 21 и 20 пунктов, то простая трехдневная ССравна 20 пунктам (сумма 19+21+20, деленная на 3). Предположим, что на четвертыйдень конечная цена составила 22. Тогда трехдневная СС возрастет до 21, т.е. на3 делим уже сумму 21+20+22.

Естьтри основных типа СС: простые (simple),экспоненциальные (exponential) и взвешенные (weighted). Большинство биржевиков используют простые СС,т.к. их нетрудно вычислить; к тому же в докомпьютерныевремена ими пользовались Дончиан и Херст. Однако у простых СС есть фатальный изъян: на каждуюперемену цен они реагируют дважды.

а) Экспоненциальные скользящиесредние

Экспоненциальнаяскользящая средняя (ЭСС) лучше опознает тенденции, чем простая СС. Она обращаетбольше внимания на последние по времени данные и быстрее реагирует наизменения. Но при этом ЭСС не скачет из-за сбрасывания старых данных. У этойсторожевой собаки слух острее, а лает она только при приближении чужака.

ЭСС=P_сег*K+ЭСС_вч*(1-K)

K=2/(окно+1)

У ЭССдва крупных преимущества перед простой СС. Во-первых, она представляет болеевесомым последний игровой день. Сегодняшний настрой биржевой толпы важнее, чемдавнишний. У 10-дневной ЭСС конечная цена последнего дня определяет 18%величины ЭСС; у простой же СС – только 10%, потому что у нее все дниравноценны. Во-вторых, ЭСС – в отличие от СС – не сбрасывает данные запредыдущие дни: они исчезают постепенно, как дух прошлого, который ещепронизывает фотокомпозицию

Рекомендациямик операциям над ценными бумагами являются следующие:

1)При восходящей ЭСС играйте на повышение. Покупайте,когда цены упадут до СС или чуть ниже. Открыв позицию на повышение, размещайтезащитную приостановку ниже недавнего донышка; как только цены закроются вышеЭСС, переместите приостановку к точке, где вы можете закрыть позициюбезубыточно в случае разворота цен.

2)При нисходящей ЭСС играйте на понижение. Открывайтекороткие позиции, когда цены подскочат до ЭСС или чуть выше. Размещайтезащитную приостановку чуть выше недавнего гребня, понизив ее до точкибезубыточного закрытия, как только конечная цена опустится ниже ЭСС.

3) Почти горизонтальная ЭСС с мелкими зигзагамиуказывает на вялый рынок без цели и ориентиров, где ловить тенденции не стоит.

Такимобразом,сигналом к продаже является пересечение СС или ЭСС с меньшим окномсверху вниз СС или ЭСС с большим окном. Покупка осуществляется впротивном случае

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

Формуладля вычисления эффективности метода

E=(Sn-S)*365*100%/(K*S)

Где Sn — сумма денег после торговойсессии n

      S   — первоначальный капитал

     K   — количество торговых сессий

4.<span Times New Roman""> 

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

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

<img src="/cache/referats/12740/image002.jpg" v:shapes="_x0000_s1029">

<img src="/cache/referats/12740/image004.jpg" v:shapes="_x0000_s1030">
.

<img src="/cache/referats/12740/image006.jpg" v:shapes="_x0000_s1031">

5. Листинг

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

procedureTForm1.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) tohigh(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 tohigh(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

                      elsex:=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;

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

procedureTForm1.Button8Click(Sender: TObject);

vari,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 gotoStart;

  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)-1do

     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]=2then

  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

5,8

8,13

ЭСС

Длина окон

Эффективность(%)

5,13

17

5,8

18

8,13

5

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

8.<span Times New Roman""> 

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

9.<span Times New Roman""> 

Период

Ставка

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 РУБ