Автор: Пользователь скрыл имя, 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
if (x <= d && x >= b)
return 2 * (d - x) / ((d - b) * (d - a));
return 0;
}
public static double Fun3(double x)
{
double delta = (a - d) / 3;
double b = a + delta;
double c = b + delta;
if (x <= b && x >= a)
return 2 * (x - a) / ((b - a) * (d + c - b - a));
if (x <= c && x >= b)
return 1 / (c - b);
if (x <= d && x >= c)
return 2 * (d - x) / ((d - c) * (d + c - b - a));
return 0;
}
}
}
Код окна программы для ввода основных параметров депозитной операции, представленного на рисунке А.3:
namespace Курсовая_работа
{
public partial class Form_determine : Form
{
static bool case1 = true;
public static bool case_ok = false;
public Form_determine(bool flag)
{
InitializeComponent();
if(!Form_main.currency)
label1_text.Text = "рубль/рублей";
label1_text.Visible = true;
if (!flag)
{
case1 = false;
label2.Visible = false;
textBox1_K1.Visible = false;
}
button1_cancel.DialogResult = DialogResult.Cancel;
}
public void button1_ok_Click(object sender, EventArgs e)
{
case_ok = true;
try
{
Argument.sum = double.Parse(textBox1_sum.
}
catch (FormatException exp)
{
MessageBox.Show(exp.Message, "Ошибка", MessageBoxButtons.OK,
MessageBoxIcon.Error);
textBox1_sum.Focus();
case_ok = false;
return;
}
try
{
Argument.k0 = double.Parse(textBox1_K0.Text)
}
catch (FormatException exp)
{
MessageBox.Show(exp.Message, "Ошибка", MessageBoxButtons.OK,
MessageBoxIcon.Error);
textBox1_K0.Focus();
case_ok = false;
return;
}
if(case1)
try
{
Argument.k1 = double.Parse(textBox1_K1.Text)
}
catch (FormatException exp)
{
MessageBox.Show(exp.Message, "Ошибка", MessageBoxButtons.OK,
MessageBoxIcon.Error);
textBox1_K1.Focus();
case_ok = false;
return;
}
try
{
Argument.n = (double.Parse(textBox1_n.Text)
}
catch (FormatException exp)
{
MessageBox.Show(exp.Message, "Ошибка", MessageBoxButtons.OK,
MessageBoxIcon.Error);
textBox1_n.Focus();
case_ok = false;
return;
}
try
{
Argument.percent_i = double.Parse(textBox1_i.Text)/
}
catch (FormatException exp)
{
MessageBox.Show(exp.Message, "Ошибка", MessageBoxButtons.OK,
MessageBoxIcon.Error);
textBox1_i.Focus();
case_ok = false;
return;
}
try
{
Argument.percent_j = double.Parse(textBox1_j.Text)/
}
catch (FormatException exp)
{
MessageBox.Show(exp.Message, "Ошибка", MessageBoxButtons.OK,
MessageBoxIcon.Error);
textBox1_j.Focus();
case_ok = false;
return;
}
this.Close();
}
}
static class Argument
{
public static double sum { get; set; }
public static double k0 { get; set; }
public static double k1 { get; set; }
public static double n { get; set; }
public static double percent_i { get; set; }
public static double percent_j { get; set; }
}
}