You have the wrong usage of Lambda Expressions in Textbox
Replace
<%: Html.TextBoxFor(InitialInvestment => Model.InitialInvestment., new { @class = "textbox", style = "width:105px", maxlength = "15"})%>
with
<%: Html.TextBoxFor(m=>m.InitialInvestment , new { @class = "textbox", style = "width:105px", maxlength = "15"})%>
Now try the above format, you should get it running.
OR
You even dont need to use annotations for that. Remove
DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:C}")]
and write the following
@Html.TextBoxFor(model => model.InitialInvestment, new { @class = "textbox", id = "InitialInvestment", Value=String.Format("{0:C}",Model.InitialInvestment) })