Выбор наилучшей стратегии помещения свободных денежных средств на краткосрочный депозит

Автор: Пользователь скрыл имя, 27 Апреля 2013 в 12:01, курсовая работа

Описание работы

Целью данной курсовой работы является разработка алгоритмов рационального вложения свободных денежных средств на краткосрочный депозит.
В рамках достижения и раскрытия поставленной цели предполагается решение следующих задач:
изучить процесс наращения денежных средств и связанных с этим процессом понятий;
охарактеризовать схемы помещения денежных средств на краткосрочный депозит и оценить их эффективность;
подготовить программную реализацию разработанных методов и алгоритмов;
проанализировать разработанные стратегии на реальных данных Республики Беларусь.

Содержание

ВВЕДЕНИЕ 5
1 ОПИСАНИЕ ПРОЦЕССА НАРАЩЕНИЯ ДЕНЕЖНЫХ СРЕДСТВ 7
1.1 Формулы наращения 7
1.2 Срок ссуды. Величина процентной ставки 8
1.3 Операции с двойной конверсией валюты 10
2 РАЗРАБОТКА АЛГОРИТМОВ НАИЛУЧШЕГО ПОМЕЩЕНИЯ СВОБОДНЫХ ДЕНЕЖНЫХ СРЕДСВ НА ДЕПОЗИТ 12
2.1 Параметры операции детерминированы 12
2.1.1 Сумма депозита в СКВ 12
2.1.2 Сумма депозита в рублях 15
2.2 Обменный курс в конце операции – случайная величина 17
3 СТРАТЕГИЯ НАИЛУЧШЕГО ПОМЕЩЕНИЯ СВОБОДНЫХ КАПИТАЛОВ НА РЕАЛЬНЫХ ДАННЫХ РЕСПУБЛИКИ БЕЛАРУСЬ 20
3.1 Краткосрочный депозит сроком на 1 месяц 20
3.1.1 Равномерное распределение обменного курса 21
3.1.2 “Треугольное” распределение обменного курса 21
3.1.3 “Трапецеидальное” распределение обменного курса 22
3.2 Краткосрочный депозит сроком на 3 месяца 23
3.3 Анализ полученных результатов 24
ЗАКЛЮЧЕНИЕ 26
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 27
ПРИЛОЖЕНИЕ А 28

Работа содержит 1 файл

Курсовая работа 2012_Микула.docx

— 268.72 Кб (Скачать)

 

(3.9)

 

     Перейдем к вычислению вероятностей (3.1) как интегралов  от плотности распределения (3.9) по соответствующим промежуткам

 

; (3.10)

 

; (3.11)

 

. (3.12)

 

Проверяем условие  нормировки

 

. (3.13)

 

На основании  приведенных выше вычислений можем  сделать вывод, что с вероятностью 86,5% двойная конверсия будет прибыльна, а также выгоднее прямого помещения.

3.1.3 “Трапецеидальное” распределение обменного курса

 

В этом случае плотность распределения (2.23) на отрезке [8560, 9060] примет вид

 

(3.14)

 

Перейдем к вычислению вероятностей (3.1) как интегралов  от плотности распределения (3.14) по соответствующим промежуткам

 

; (3.15)

 

; (3.16)

 

. (3.17)

 

Проверяем условие  нормировки

 

. (3.18)

 

На основании  приведенных выше вычислений можем  сделать вывод, что с вероятностью 81,3% двойная конверсия будет прибыльна, а также выгоднее прямого помещения.

Таким образом, если предполагается, что обменный курс K1 имеет одно из трех распределений (3.4), (3.9) или (3.14), то наращение средств путем помещения и на месячный депозит в банк лучше сделать, применив двойную конверсию валюты, которая будет прибыльна и выгоднее прямого помещения.

3.2 Краткосрочный депозит сроком на 3 месяца

 

Проведем  рассуждения, аналогичные пункту 3.1, вычислив критическое значение и “барьерное” значение обменного курса K1, воспользовавшись формулами (2.8) и (2.10)

 

(3.19)

 

(3.20)

 

Границы изменения  обменного курса на основе экспертных заключений: [8460, 9260], поэтому в качестве отрезка [a,d] для всех трех распределений вероятностей возьмем отрезок [8460, 9260]. Но в нашем предположении об изменении курса обмена через 3 месяца сложилась следующая ситуация, представленная на рисунке 3.

 

 

 

                                                                                            


 

                 8460                        9260                 9360                        9570                                   K1                                                                                                     

Рисунок 5 – Возможные значения обменного курса K1

 

Из рисунка видно, что все возможные значения обменного курса K1 принадлежат множеству . Отсюда следует, что вероятности (3.1) для всех трех рассматриваемых распределений будут совпадать и равны

 

; (3.21)

 

; (3.22) 

 

. (3.23)

 

Поэтому в случае помещения средств  на краткосрочный депозит сроком на 3 месяца,  как и в случае месячного депозита, рассматриваемого в пункте 3.1, двойная конверсия валюты будет прибыльна и выгоднее прямого помещения.

3.3 Анализ полученных результатов

 

Анализ адекватности полученных результатов осуществляется по окончании срока действия предполагаемых депозитов. Для депозитов сроком на 1 и 3 месяца в предположении, что обменный курс в конце операции K1 имеет одно из трех распределений (равномерное, “треугольное”, “трапецеидальное”) было сделано предположение о том, что наращение средств лучше сделать, применив двойную конверсию валюты, которая будет прибыльна и выгоднее прямого помещения. Предположим, что мы имеем свободные денежные средства в размере 1000 долларов США. Официальный курс белорусского рубля по отношению к доллару США по состоянию на 17.12.2011 составлял 8450 рублей.

Наращенная  сумма при прямом помещении на депозит сроком на 1 месяц равна

 

(3.24)

При двойном  конвертировании валюты получаем

 

(3.25)

 

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

Проанализируем  сложившуюся ситуацию при предполагаемом помещении средств на депозит  сроком на 3 месяца. Официальный курс белорусского рубля по отношению  к доллару США по состоянию  на 17.02.2012 составлял 8370 рублей. Наращенная сумма при прямом помещении равна

 

(3.26)

 

При двойном  конвертировании валюты получаем

 

(3.27)

 

В этом случае, как и в случае депозита сроком на 1 месяц, наращенная сумма при двойном конвертировании валюты больше, чем при прямом помещении.

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

ЗАКЛЮЧЕНИЕ

 

В данной курсовой работе:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

 

  1. Четыркин Е.М. Методы финансовых и  коммерческих расчетов / Е.М. Четыркин. – М.: Дело Лтд, 1995.
  2. Четыркин Е.М. Финансовый анализ производственных инвестиций / Е.М. Четыркин. – М.: Дело Лтд, 2001.
  3. Кирлица В.П. Финансовая математика. Руководство к решению задач / В.П. Кирлица. – Мн.: ТетраСистемс, 2005.
  4. Харин Ю. С. Теория вероятностей: Учеб. пособие / Ю. С. Харин, Н. М. Зуев. - Мн.: БГУ, 2004.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ А

 

Графический интерфейс разработанного программного приложения представлен на рисунке А.1, А.2, А.3, где пользователю предлагается ввести параметры депозитной операции для получения оценки ее эффективности.

 

Рисунок А.1 – Главное окно программы

 

Рисунок А.2 – Окно для ввода параметров относительно обменного курса

 

 

Рисунок А.3 – Окно для ввода основных параметров депозитной операции

 

Код главного окна программы, представленного на рисунке А.1:

namespace Курсовая_работа

{

    public partial class Form_main : Form

    {

        

        public Form_main()

        {

            InitializeComponent();

        }

        static internal bool currency = true;

        private void button_ok_Click(object sender, EventArgs e)

        {

            bool flag = true;

            currency = true;

            if (radioButton_ruble.Checked == true)

                currency = false;

            if (radioButton_determine.Checked == true)

            {

                Form_determine wind = new Form_determine(flag);

                wind.ShowDialog();

                if (Form_determine.case_ok)

                {

                    double result = 0;

                    double result_with_conversion = 0;

                    if (currency)

                    {

                        result = Argument.sum * (1 + Argument.n * Argument.percent_j);

                        result_with_conversion = Argument.sum * (Argument.k0 / Argument.k1) * (1 + Argument.n * Argument.percent_i);

                    }

                    else

                    {

                        result = Argument.sum * (1 + Argument.n * Argument.percent_i);

                        result_with_conversion = Argument.sum * (Argument.k1 / Argument.k0) * (1 + Argument.n * Argument.percent_j);

                    }

                    Form1_result wind1 = new Form1_result(result, result_with_conversion);

                    wind1.ShowDialog();

                }

               

            }

            if (radioButton_random.Checked == true)

            {

                Form_random wind = new Form_random();

                wind.ShowDialog();

            }

        }

    }

}

 

Код окна программы для ввода параметров относительно обменного курса, представленного на рисунке А.2:

namespace Курсовая_работа

{

    public partial class Form_random : Form

    {

        public Form_random()

        {

            InitializeComponent();

            button1_cancel.DialogResult = DialogResult.Cancel;

        }

        bool first = true;

        private void button1_ok_Click(object sender, EventArgs e)

        {

            if (!first)

            {

                this.Close();

                return;

            }

            int distribution = 0;

            if (radioButton1.Checked == true)

                distribution = 1;

            if (radioButton2.Checked == true)

                distribution = 2;

            if (radioButton3.Checked == true)

                distribution = 3;

            double a = 0, d = 0;

            try

            {

                a = double.Parse(textBox1_k1.Text);

            }

            catch (FormatException exp)

            {

                MessageBox.Show(exp.Message, "Ошибка", MessageBoxButtons.OK,

                    MessageBoxIcon.Error);

                textBox1_k1.Focus();

                return;

            }

            try

            {

                d = double.Parse(textBox2_k1.Text);

            }

            catch (FormatException exp)

            {

                MessageBox.Show(exp.Message, "Ошибка", MessageBoxButtons.OK,

                    MessageBoxIcon.Error);

                textBox2_k1.Focus();

                return;

            }

            Form_determine wind = new Form_determine(false);

            wind.ShowDialog();

            double p1 = 0, p2 = 0, p3 = 0;

            double K1_critical = 0, K1_barrier = 0;

            double eps=0.00;

            if (Form_main.currency)

            {

                K1_critical = Argument.k0 * (1 + Argument.n * Argument.percent_i);

                K1_barrier = K1_critical / (1 + Argument.n * Argument.percent_j);

            }

            else

            {

                K1_critical = Argument.k0 / (1 + Argument.n * Argument.percent_j);

                K1_barrier = K1_critical * (1 + Argument.n * Argument.percent_i);

            }

            FunctionSet.a = a;

            FunctionSet.d = d;

            label5.Visible = true;

            label6.Visible = true;

            label7.Visible = true;

            label8.Visible = true;

            label9.Visible = true;

            label10.Visible = true;

            switch (distribution)

            {

                case 1:

                    if (Form_main.currency)

                    {

                        if (d < K1_barrier)

                        {

                            p3 = 1; p1 = 0; p2 = 0;

                        }

                        else

                        {

                            p1 = Integral.GetIntegral(K1_critical, d, 10, ref eps, FunctionSet.Fun1)*100;

                            p2 = Integral.GetIntegral(K1_barrier, K1_critical, 10, ref eps, FunctionSet.Fun1)*100;

                            p3 = Integral.GetIntegral(a, K1_barrier, 10, ref eps, FunctionSet.Fun1)*100;

                        }

                       

                    }

                    else

                    {

                        p1 = Integral.GetIntegral(a, K1_critical, 10, ref eps, FunctionSet.Fun1)*100;

                        p2 = Integral.GetIntegral(K1_critical, K1_barrier, 10, ref eps, FunctionSet.Fun1)*100;

                        p3 = Integral.GetIntegral(K1_barrier, d, 10, ref eps, FunctionSet.Fun1)*100;

                    }

                    break;

                case 2:

                    if (Form_main.currency)

                    {

                        p1 = Integral.GetIntegral(K1_critical, d, 10, ref eps, FunctionSet.Fun2) * 100;

                        p2 = Integral.GetIntegral(K1_barrier, K1_critical, 10, ref eps, FunctionSet.Fun2) * 100;

                        p3 = Integral.GetIntegral(a, K1_barrier, 10, ref eps, FunctionSet.Fun2) * 100;

                    }

                    else

                    {

                        p1 = Integral.GetIntegral(a, K1_critical, 10, ref eps, FunctionSet.Fun2) * 100;

                        p2 = Integral.GetIntegral(K1_critical, K1_barrier, 10, ref eps, FunctionSet.Fun2) * 100;

                        p3 = Integral.GetIntegral(K1_barrier, d, 10, ref eps, FunctionSet.Fun2) * 100;

                    }

                    break;

                case 3:

                    if (Form_main.currency)

                    {

                        p1 = Integral.GetIntegral(K1_critical, d, 10, ref eps, FunctionSet.Fun3) * 100;

                        p2 = Integral.GetIntegral(K1_barrier, K1_critical, 10, ref eps, FunctionSet.Fun3) * 100;

                        p3 = Integral.GetIntegral(a, K1_barrier, 10, ref eps, FunctionSet.Fun3) * 100;

                    }

                    else

                    {

                        p1 = Integral.GetIntegral(a, K1_critical, 10, ref eps, FunctionSet.Fun3) * 100;

                        p2 = Integral.GetIntegral(K1_critical, K1_barrier, 10, ref eps, FunctionSet.Fun3) * 100;

                        p3 = Integral.GetIntegral(K1_barrier, d, 10, ref eps, FunctionSet.Fun3) * 100;

                    }

                    break;

            }

            textBox1.Text = p1.ToString("0.00");

            textBox1.Visible = true;

            textBox2.Text = p2.ToString("0.00");

            textBox2.Visible = true;

            textBox3.Text = p3.ToString("0.00");

            textBox3.Visible = true;

            first = false;

            this.Visible = true;

        }

 

    }

    public class Integral

    {

        public delegate double Func(double x);

        public static double GetIntegral(double a, double b, double n, ref double e, Func CallBack)

        {

            double res = 0.0, h;

            h = (b - a) / n;

            for (int i = 1; i <= n; i++)

                res += CallBack(a + h * (i - 0.5));

            res *= h;

            e = Math.Pow(h, 2);

            return res;

        }

    }

    public static class FunctionSet

    {

        public static double a=0, d=0;

        public static double Fun1(double x)

        {

            return 1 / (d - a);

        }

        public static double Fun2(double x)

        {

            double b = (d + a) / 2;

            if (x <= b && x >= a)

                return 2 * (x - a) / ((b - a) * (d - a));

Информация о работе Выбор наилучшей стратегии помещения свободных денежных средств на краткосрочный депозит