1) изменять учетную процентную ставку;
2) манипулировать нормой резервирования;
3) проводить операции на открытом рынке ценных бумаг(государственных облигаций).
Предположим, что в 2006 году ЦБ увеличит предложение денег (например, осуществит массовую закупку государственных облигаций на открытом рынке), то это приведет к сдвигу кривой LMвправо.(рисунок 2.6)
Рисунок 2.6 – Кривые ISи LMпо данным за 2006 год при увеличении ЦБ предложения денег
Кривая ISимеет нисходящий вид, что объясняется обратной зависимостью между уровнем процентной ставки и величиной совокупного спроса. Объем выпуска всегда стремится достичь какой-либо точки на кривой IS, ибо только в таких точках товарный рынок будет находиться в равновесии. Все точки лежащие вне кривой IS, дают неравновесное состояние товарного рынка. Так, если экономика описывается точкой, лежащей правее кривой IS, то для нее характерно избыточное предложение товаров. Если же экономике соответствует точка, лежащая левее кривой IS, это значит, что существует избыточный спрос на товары.
Текст программы приведен в приложении А.
Заключение
Из проделанной мною работы я могу сделать выводы, что кривая IS (инвестиции-сбережения) описывает равновесие товарного рынка и отражает взаимоотношения между рыночной ставкой процента R и уровнем дохода Y, которые возникают на рынке товаров и услуг. Кривая IS выводится из простой кейнсианской модели (модели равновесия совокупных расходов или модели кейнсианского креста), но отличается тем, что часть совокупных расходов и, прежде всего, инвестиционные расходы теперь зависят от ставки процента.
Кривая LM (ликвидность-деньги) характеризует равновесие на денежном рынке, которое существует, когда спрос на деньги (прежде всего обусловленный свойством абсолютной ликвидности наличных денег) равен предложению денег. Поскольку спрос на деньги зависит от ставки процента, то существует кривая равновесия денежного рынка - кривая LM (Liquidity preference=Money supply), каждая точка которой представляет собой комбинацию величин дохода и ставки процента, обеспечивающую монетарное равновесие.
Пересечение кривых равновесия товарного (IS) и денежного (LM) рынков дает единственные значения величины ставки процента R (равновесная ставка процента) и уровня дохода Y (равновесный уровень дохода), обеспечивающие одновременное равновесие на этих двух рынках.
Модель IS-LM позволяет: показать взаимосвязь и взаимозависимость товарного и денежного рынков; выявить факторы, влияющие на установление равновесия как на каждом из этих рынков в отдельности, так и условия их одновременного равновесия; рассмотреть воздействие изменения равновесия на этих рынках на экономику; проанализировать эффективность фискальной и монетарной политики; вывести функцию совокупного спроса и определить факторы, влияющие на совокупный спрос; проанализировать варианты стабилизационной политики на разных фазах экономического цикла.
Список использованных источников
1.Агапова Т.А., Серегина С.Ф. Макроэкономика.-М., «Дис», 1997
2.Ивашковский С.Н. Макроэкономика: учебник. -3-е изд.,2004
3. Плотницкий М.И., Лобкович Э.И. Макроэкономика.-М.,2002
4.Селищев А.С. Макроэкономика.-С-Пб, «Питер», 2000
Приложение А
Текст программы:
Unit1.cpp
include <vcl.h>
#pragmahdrstop
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double r, Y;
PageControl1->ActivePage = TabSheet2;
MyObject.I = StrToFloat(Edit1->Text);
MyObject.T = StrToFloat(Edit2->Text);
MyObject.G = StrToFloat(Edit3->Text);
MyObject.b = StrToFloat(Edit4->Text);
MyObject.c = StrToFloat(Edit5->Text);
MyObject.d = StrToFloat(Edit6->Text);
MyObject.M = StrToFloat(Edit7->Text);
MyObject.k = StrToFloat(Edit8->Text);
MyObject.n = StrToFloat(Edit9->Text);
if((MyObject.b<1)&&(MyObject.d != 0)&&(MyObject.n != 0))
{
Y = MyObject.MetodNewtona();
r = MyObject.M*(1/MyObject.n)+(MyObject.k/MyObject.n)*Y;
Label12->Caption = FloatToStrF(r,ffFixed,10,2);
Label13->Caption = FloatToStrF(Y,ffFixed,10,2);
Series1->Clear();
Series2->Clear();
for( int i = Y - 1000; i<Y+1000; i++)
{
Series1->AddXY(i, MyObject.LM(i),"",clTeeColor);
Series2->AddXY(i, MyObject.IS(i),"",clTeeColor);
}
}
else {
if(MyObject.b>1)
ShowMessage("Вводимое значение b должно быть неотрицательным числом меньшим 1");
if(MyObject.d == 0)
ShowMessage("Вводимое значение d не должно равняться нулю");
if(MyObject.n == 0)
ShowMessage("Вводимое значение n не должно равняться нулю");
}
}
Unit1h
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <Chart.hpp>
#include <ExtCtrls.hpp>
#include <Series.hpp>
#include <TeEngine.hpp>
#include <TeeProcs.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TPageControl *PageControl1;
TTabSheet *TabSheet1;
TTabSheet *TabSheet2;
TGroupBox *GroupBox1;
TEdit *Edit1;
TEdit *Edit2;
TEdit *Edit3;
TEdit *Edit4;
TEdit *Edit5;
TEdit *Edit6;
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
TLabel *Label4;
TLabel *Label5;
TLabel *Label6;
TGroupBox *GroupBox2;
TEdit *Edit7;
TEdit *Edit8;
TEdit *Edit9;
TLabel *Label7;
TLabel *Label8;
TLabel *Label9;
TButton *Button1;
TButton *Button2;
TChart *Chart1;
TLineSeries *Series1;
TLineSeries *Series2;
TLabel *Label10;
TLabel *Label11;
TLabel *Label12;
TLabel *Label13;
void __fastcall Button2Click(TObject *Sender);
void __fastcall Button1Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Unit2.cpp
//---------------------------------------------------------------------------
#pragma hdrstop
#include "Unit2.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#include<math.h>
MyClass MyObject;
//----------------------------------------------------------------
double MyClass::MetodNewtona()
{
double x = 0, Y, Y1;
Y = Func(x);
Y1 = (Func(x + 0.01) - Func(x - 0.01))/(2*0.01);
while(fabs(Y)>0.0001)
{
x = x - Y/Y1;
Y = Func(x);
Y1 = (Func(x + 0.01) - Func(x - 0.01))/(2*0.01);
}
return x;
}
//------------------------------------------------------------------------
double MyClass::Func(double x)
{
return M*1/n - (c + I)/d + b/d*T - 1/d*G + x*(k/n + (1 - b)/d);
}
//-------------------------------------------------------------------------
double MyClass::LM(double x)
{
return M*1/n+k/n*x;
}
//---------------------------------------------------------------------------
double MyClass::IS(double x)
{
return (c + I)/d - b/d*T + 1/d*G - (1 - b)/d*x;
}
//---------------------------------------------------------------------------
Unit2.h
#ifndef Unit2H
#define Unit2H
//--------------------------------------------------------------
class MyClass{
public:
double M, n, k, I, T, G, b, c, d;
MyClass()
{M = 0; n = 0; k = 0; I = 0; T = 0; G = 0; b = 0; c = 0; d = 0;}
~MyClass()
{M = 0; n = 0; k = 0; I = 0; T = 0; G = 0; b = 0; c = 0; d = 0;}
double MetodNewtona();
double Func(double x);
double LM(double x);
double IS(double x);
};
extern MyClass MyObject;
//---------------------------------------------------------------
#endif