<?xml version='1.0' encoding='Shift_JIS' ?>
<doc xml:lang='ja'>
	<head>
		<title>分析フェーズ</title>
	</head>
	<body>
		<p>これから、株式市場を問題領域として分析を行います。
			そして、板寄せ約定という価格決定メカニズムで取引が成立する単純な人工市場モデルを構築します。
		</p>
		
		<subsection title="どの市場に注目した人工市場モデルを作成するのか？">
			<p>人工市場モデルを作成すると一口にいっても、財・金融・資産市場．．．と様々な市場が存在します。
				今回は株式市場に範囲を絞り、株と貨幣の取引に注目したモデル化を行います。
			</p>
		</subsection>
		
		<subsection title="株式市場には何が登場するのか？">
			<subsubsection title="登場するエージェント: 注文する投資家、約定する証券取引所">
				<p>
					株式市場にはどのような主体が登場し、登場する主体はどのような行動をもっているのでしょうか？
					まず、人間として思いつくのは、注文を行う投資家です。
					次に、組織として思いつくのは、板寄せ約定を統括する証券取引所や、株を発行する企業です。
					また、株価情報を発信するマス・メディアなど、挙げればきりがありません。
					ここでは、人工市場モデルを作成する上で必要最低限の登場人物（投資家と証券取引所）を採用し、
					株などは所与の条件として扱うことにします。
				</p>
				<figure id="fig:analysis_agent" src="image/analysis_agent" title="エージェントの抜き出し"/>
			</subsubsection>
			
			<subsubsection title="投資家と証券取引所の関係とは？">
				<p>投資家と証券取引所は、取引を行いますので当然関係をもっています。問題は方向です。</p>
				<p>
					レモン市場では、買い手（つまり投資家）が関係をもち、イニシアチブをもって買いたい時に売り手に
					問いかける方法でした。
					今回はもう一つの方法、つまり、証券取引所がイニシアチブをもって、買い手に問いかけることにしましょう。
					（実は、「板寄せ」という方法はこの方がやりやすいのです）
					そこで、証券取引所が投資家に対して関係をもつことにします。
				</p>
				<figure id="fig:analysis_relationView"
					src="image/analysis_relationView" title="関係の抜き出し"/>
					
				<p>以下が、株式市場の関係クラス図になりました。</p>
				<figure id="fig:analysis_relation"
					src="image/analysis_relation" title="関係のリストアップ"/>					
			</subsubsection>
			
			<subsubsection title="財と情報: とりあえず後回し">
				<p>次は財・情報の洗い出しを行いたいところですが、
					エージェントの振る舞いの分析を行うのと同時にどのような財・情報が必要なのかがわかってきますので、
					とりあえず後回しにします。</p>
			</subsubsection>

		</subsection>
		
		<subsection title="エージェントの振る舞いの分析">
			<subsubsection title="エージェントのアクティビティ">
				<!--
				<p>これまで作成したクラス図参照しながら、
					登場する主体のもつ行動が、他の行動とどのような財、情報をやりとりするのかについて、洗い出してください。</p>
					<p>この時、挙げられた行動がどのような状況で開始するのかを考えてください。
						時間経過にともない自然に開始するのか（時間経過型）、
						それとも、他の主体の行動に対する反応として開始するのか（刺激反応型）、という２つの区別をつけてください。</p>
				-->
				<p>前フェーズで「投資家」「証券取引所」というエージェントがいると分析されたので、それぞれのアクティビティ分析を行います。
					さきほど関係クラス図を作成する際に、証券取引所がイニシアチブをもって、売買主である投資家に働きかけることにしました。
					そうすると、証券取引所が投資家よりも先に行動することになります。
					まず、証券取引所は投資家に注文を送るように伝え、
					投資家からの注文を受け取った後に板寄せ約定を行う．．．というアクティビティとなります。</p>				
				<figure id="fig:analysis_StockExchangeActivity" src="image/analysis_StockExchangeActivity"
					title="証券取引所のアクティビティ図"/>
				<p>次は投資家のアクティビティです。登場人物は2種類しかいないので、証券取引所のアクティビティと対応するように作っていけばいいだけです。
					まず、証券取引所から注文を送るように言われた後に注文を行い、その後約定結果を受け取る．．．というアクティビティになります。</p>
				<figure id="fig:analysis_TraderActivity" src="image/analysis_TraderActivity"
					title="投資家のアクティビティ図"/>
			</subsubsection>
				
			<subsubsection title="取引のシーケンス">
					<!--
					<p>
						次に、主体の行動の順番といった時間の流れを意識し、挙げられた行動同士を比較して、どのような順番で行動が発生するのかについて考えてください。
					</p>
					-->
				<p>
					板寄せ約定の人工市場では、証券取引所が投資家から注文を集めて、全ての注文を受け取ってから約定しますので、
					取引を主導するのは証券取引所になります。
					証券取引所は全ての投資家に注文を要求し、投資家から注文を全て受け取って約定します。
					その後、約定結果を全ての投資家に送り、彼らが注文の対価を収集してから、各投資家に再配分することにします。
				</p>
				
				<figure id="fig:analysis_sequenceView" src="image/analysis_sequenceView"
					title="分析シーケンス図"/>
				<figure id="fig:analysis_interactionView"
					src="image/analysis_interactionView"
					title="行動の相互作用の洗い出し"/>
			</subsubsection>
		</subsection>
		
		<subsection title="ここでわかる財と情報">
			<p>最後に、モデルにどのような財・情報が登場するのかを考えましょう。 さきほど、株という言葉が出てきました。
				また、株は何らかの対価と引き換えに取引されるのですから、お金も必要です。
				株を注文するには、注文という財が必要で、
				投資家に取引が成立したかどうかを知らせる約定結果という財も必要だということがわかりました。
			</p>

			<figure id="fig:analysis_goods" src="image/analysis_goods"
				title="財の抜き出し"/>
					
			<p>次に、情報を洗い出しましょう。 まず、投資家や、証券取引所は、どのような情報・記憶をもっているでしょうか？
				注文の際の参考とするために、投資家は、過去の株価の履歴をもっていそうですね。
				証券取引所は、投資家から受け取った注文のリストや、約定のための板をもっていそうです。
			</p>
			<p>さらに、投資家と証券取引所との間で、どのような情報がやりとりされるか考えてみましょう。
				注文内容、約定結果内容などがあげられます。
			</p>
			
			<figure id="fig:analysis_information"
				src="image/analysis_information" title="情報の抜き出し"/>
		</subsection>

		<!--
		<subsection title="分析フェーズを終えて: 設計フェーズに入る前に">
			<p>ここまでで、分析フェーズが終わります。次は、モデルをプログラミングするための設計図を書く設計フェーズです。
				ここで、いったん作成したクラス図、アクティビティ図を見直してください。 何か抜け落ちていることはありませんか？
				例えば、アクティビティ図を書くことによって、新しい主体の登場が必要であると考えたのであれば、
				いったんモデル分析に戻って、分析を繰り返し行ってください。
				この時点で、分析モデルの不備を確認しておくと、次の設計フェーズ、実装フェーズではじめて自分に過ちに
				気づくよりは修正が少なくて済むはずです。 反復的な確認作業を絶対に怠らないでください。
				絶え間ない確認によって、モデルはより素晴らしいものへと成長していきます。</p>
		</subsection>
		-->
	</body>
</doc>
