Энциклопедия Turbo Pascal. Главы 5-8
Страница 30. Управление портфелем акций методом случайного поиска


Управление портфелем акций методом случайного поиска

     Искусство управления портфелем акций в общем случае  основы-
вается  на  различных теориях и предположениях о многих факторах,
некоторые из которых не могут быть легко поняты. Существуют стра-
тегии купли и продажи, основанные на статистическом анализе стои-
мости акций, индексе РЕ, цены на золото и даже лунного цикла.
     Вы можете  подумать,  что  фондовая биржа слишком сложна для
моделирования; она имеет слишком много переменных и слишком много
неизвестных;  ей  присущи  широкие колебания по времени и плавные
изменения в зависимости от других параметров. Однако, задача сама
по  себе  имеет решение:  так как рынок такой сложный,  его можно
рассматривать как совокупность случайно происходящих событий. Это
означает,  что  вы  можете моделировать поведение фондовой биржы,
как серию не связанных событий, носящих случайный характер. Такой
метод моделирования называется методом случайного поиска управле-
ния портфелем акций.  Вы можете руководствоваться методом случай-
ного поиска, так как он не хуже других.
     Прежде, чем продолжать, предупредим: метод случайного поиска
дискредитирован профессиональными бизнесменами. Он представляется
здесь исключительно в познавательных целях,  а не для того, чтобы
помочь вам принять решение о ваших вложениях.
     Для реализации метода случайного поиска, во-первых, выберите
десять компаний из журнала "Уол Стрит Джоурнел" некоторым случай-
ным методом. После того, как вы выберите десять компаний, введите
их  имена в программу моделирования случайного поиска так,  чтобы
она могла сообщить вам, как поступить с ее акциями.
     Программа может сообщить вам пять вариантов поведения по от-
ношению к акциям данной компании:
     - продать;
     - купить;
     - продать не на долго;
     - купить на прибыль;
     - держать не делать ничего. Операции продажи, купли и держа-
ния акций объяснять не надо.  Продажа не на долго -  это  продажа
акций, которые вскоре, как вы надеетесь, сможете купить по дешев-
ке.  Такая продажа - это способ делать деньги,  когда курс  акций
начинает  падать.  Когда вы покупаете на прибыль,  вы используете
деньги прибыли для финансирования части стоимости  акций, которые
вы покупаете. Это приносит деньги в случае игры на повышении кур-
са акций.
     Далее показана программа случайного поиска. Встроенная функ-
ция KeyPressed проверяет статус клавиатуры и ожидает нажатия кла-
виши. Это позволяет вам использовать последовательность, порожда-
емую генератором случайных чисел в случайный момент,  в  сущности
порождая  случайно  выбранное значение,  что предотвращает выдачу
программой одинаковых рекомендаций

     {программа управления портфелем акций методом случайного
                          поиска}
     program RandomWalk;

     uses
       Crt;

     type
       str80 = string[80];
       action = (buy, sell, hold, short, margin);
     var

       t: integer;
       stock: array[1..10] of str80;
       ch: char;
       act: action;
       f: real;

     { ввод имен компаний }
     procedure Enter;
     var
       t: integer;
     begin
       for t := 1 to 10 do
       begin
        Write('Введите имена компаний : ');
        ReadLn(stock[t]);
       end;
     end; {Enter}

     {возврат очередного курса акций }
     function NextAction: action;
     var
       f: real;

     begin
       NextAction := hold;
       case Trunc(Random*10) of
        1: NextAction := sell;
        2: NextAction := buy;
        3: NextAction := short;
        4: NextAction := margin
       end;
     end; {NextAction}

     begin
       Write('Подождать, а затем нажать любую клавишу ');

       repeat
        f := Random; {Randomize the generator}
       until KeyPressed;
       ch := ReadKey;
       WriteLn;

       enter;

       repeat
        for t := 1 to 10 do
        begin
          act := NextAction;
          if Length(stock[t])>0 then
          begin
            Write(stock[t], ': ');
            case act of
              buy: WriteLn('Кyпить');
              sell: WriteLn('Продать');

              short: Write('Продать не на долго');
              margin: WriteLn('Купить на прибыль ');
              hold: WriteLn('Держать ');
            end;
          end;
        end;
        Write('Снова (Y/N) ');
        ch := ReadKey;
        WriteLn;
       until UpCase(ch)='N';
     end.

     Программа требует,  чтобы  вы интерпретировали ее инструкции
следующим образом:

Инструкция           Интерпретация
Купить               Купить столько указанных акций, сколько
                     вы можете себе позволить без занимания
Продать              Продать все акции, если они у вас есть.
                     Далее случайным образом выбрать новую
                     компанию для вложения ваших денег
Продать не на долго  Продать 100 акций указанной компании,
                     даже если их у вас нет, в надежде, что
                     вы в будущем сможете купить их по низкой
                     цене
Купить на прибыль    Занять деньги для покупки акций
                     указанной компании
Держать              Не делать ничего
     Например, вы запустили данную программу, используя фиктивные
имена компаний Com1-Com10, совет первого дня может выглядеть сле-
дующим образом:

     Сом1: продать
     Сом2: купить
     Сом3: купить на прибыль
     Сом4: продать не на долго
     Сом5: держать
     Сом6: держать
     Сом7: держать
     Сом8: купить
     Сом9: держать
     Сом10: продать не на долго
     Совет на второй день мог бы быть таким:
     Сом1: держать
     Сом2: держать
     Сом3: продать
     Сом4: продать не на долго
     Сом5: держать
     Сом6: держать
     Сом7: купить
     Сом8: купить на прибыль
     Сом9: держать
     Сом10: продать

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

 
« Предыдущая статья   Следующая статья »