[R-SIG-Finance] function 'addtxn' in blotter package can't add intraday trade into account?
Brian G. Peterson
brian at braverock.com
Tue Sep 2 10:03:48 CEST 2014
On 09/01/2014 01:00 PM, domodo wrote:
> [Joshua] Ulrich,thanks for your reply.
>
> I found the reason why equity are always zero. the argument 'initDate' in
> initPortf and initAcct should be earlier than market data's start date,in
> this case, the start date is '2012-01-18 09:15:00',so argument 'initDate' in
> initPortf and initAcct should at least be '2012-01-18 09:14:00' or earlier.
> Having replace both of the value of initDate with '2012-01-18 09:14:00', I
> got the result of txns as below:
>
>> head(txns)
> Txn.Qty Txn.Price Txn.Fees Txn.Value Txn.Avg.Cost
> Net.Txn.Realized.PL
> 2012-01-18 09:14:00 0 0.0 0.000 0 0.0
> 0.000
> 2012-01-18 09:35:00 8 2580.0 -309.600 6192000 2580.0
> -309.600
> 2012-01-18 09:43:00 -8 2582.0 -309.840 -6196800 2582.0
> 4490.160
> 2012-01-18 09:54:00 8 2580.8 -309.696 6193920 2580.8
> -309.696
> 2012-01-18 09:57:00 -8 2575.8 -309.096 -6181920 2575.8
> -12309.096
> 2012-01-18 09:58:00 8 2581.8 -309.816 6196320 2581.8
> -309.816
>
> all transactions are OK,except the first transaction. why it occurs ? I
> tried to run the codes in debug mode line-by-line,but couldn't find the
> reason.
The first row is there only as an initialization row. You need a
starting point (an empty portfolio) or none of the math makes sense.
> PS:
> I couldn't find the reason why argument 'initDate' in initPortf and
> initAcct must be earlier than market data's start date/time in help
> documents.
I don't know why it should be unclear that initDate must be before the
first transaction.
The documentation currently describes initDate as:
initDate: A date prior to the first close price given,
used to contain initial account equity and initial position
I suppose we can try to make this more clear and say that it must be
prior to the first *transaction* and that you need to have initDate
before the market data you wish to use to mark the portfolio.
As with the initial state of the portfolio, above, where you start with
nothing. Portfolio accounting is about marking the portfolio with
realized and unrealized differences. There must be a starting point.
You have to create the portfolio and account *before* you can put
transactions in it. Transactions have to occur in order or you need to
go back and reassess what happened.
Regards,
Brian
--
Brian G. Peterson
http://braverock.com/brian/
Ph: 773-459-4973
IM: bgpbraverock
More information about the R-SIG-Finance
mailing list