[R-SIG-Finance] addTxns addfees
Hideyoshi Maeda
hideyoshi.maeda at gmail.com
Thu Jul 5 01:42:46 CEST 2012
Ah ok, I didn't look at the repository...is that expected to go in any time soon given its simplicity in adjustment?
On 5 Jul 2012, at 09:36, G See wrote:
> If you look at the code in the repository,
>
> https://r-forge.r-project.org/scm/viewvc.php/pkg/blotter/R/addTxn.R?view=markup&revision=1081&root=blotter
>
> you can see that there are comments saying that this isn't yet supported.
>
> TxnFee <- 0 #TODO FIXME support transaction fees in addTxns
> #TxnFee <- ifelse( is.function(TxnFees), TxnFees(TxnQty,
> TxnPrice), TxnFees)
>
> Sorry,
> Garrett
>
> On Wed, Jul 4, 2012 at 6:29 PM, G See <gsee000 at gmail.com> wrote:
>> My apologies. I see what you are talking about, and I see where that
>> is hardcoded in. So, you would need to replace
>>
>> TxnFee <- 0
>>
>> with
>>
>> TxnFee <- as.numeric(TxnData[row, "txnfees"])
>>
>>
>> On Wed, Jul 4, 2012 at 6:24 PM, Hideyoshi Maeda
>> <hideyoshi.maeda at gmail.com> wrote:
>>> Thanks for your response.
>>>
>>> I am aware that addTxn is not vectorized...
>>>
>>> but what I am using below is addTxns...(note the 's' after Txn)
>>>
>>> This allows transaction data through the TxnData argument
>>>
>>> It is, in effect, a vectorised version of addTxn...even the blotter demo from
>>>
>>> demo(amzn_test)
>>>
>>> uses this....
>>>
>>> However unlike the demo...i wanted to include Transaction fees, and wanted to know if this was possible...as the function for addTxns automatically assigns this to zero...
>>>
>>>
>>>
>>> On 5 Jul 2012, at 09:15, G See wrote:
>>>
>>>> Hi Hideyoshi,
>>>>
>>>> addTxn is not vectorized, and it does not have a txnData argument. To
>>>> see how the function is intended to be used, please read
>>>>
>>>> ?addTxn
>>>>
>>>> Then look at the demos that are included with blotter as well as the
>>>> examples in ?blotter.
>>>>
>>>> HTH,
>>>> Garrett
>>>>
>>>> On Wed, Jul 4, 2012 at 5:46 PM, Hideyoshi Maeda
>>>> <hideyoshi.maeda at gmail.com> wrote:
>>>>> If an example is required
>>>>>
>>>>> Here is an example:
>>>>>
>>>>> rm(list=ls(pos=.blotter),pos=.blotter)
>>>>> rm(list=ls(pos=.instrument),pos=.instrument)
>>>>> rm(list=ls(pos=.strategy),pos=.strategy)
>>>>>
>>>>> currency('USD')
>>>>> stock("SPY", currency="USD", mulitplier=1)
>>>>>
>>>>> getSymbols('SPY', from='2012-03-01', to='2012-07-04')
>>>>>
>>>>> portf.name <- "dummy.Portfolio"
>>>>>
>>>>> initPortf(portf.name, 'SPY', initDate='2012-02-29')
>>>>> initAcct(portf.name, portf.name, initDate='2012-02-29', initEq=1e6)
>>>>>
>>>>> qty <- rep(c(1,-1), nrow(SPY)/2)
>>>>> price <- SPY[,4]
>>>>> txnfees <- rep(-5, nrow(SPY))
>>>>> txndata <- cbind(qty, price, txnfees)
>>>>> colnames(txndata) <- c("Quantity","Price","txnfees")
>>>>>
>>>>> blotter:::addTxns(Portfolio=portf.name, Symbol='SPY', TxnData=txndata )
>>>>>
>>>>> txns <- getTxns(Portfolio=portf.name, Symbol='SPY')
>>>>>
>>>>> head(txns)
>>>>> This will show the buying and selling of 1 share on alternate days at the close but will not show any of the fees relating to each transaction.
>>>>>
>>>>> Thanks
>>>>>
>>>>> HLM
>>>>>
>>>>> On 5 Jul 2012, at 01:48, Hideyoshi Maeda wrote:
>>>>>
>>>>>> Hi I am looking at the addTxns function in blotter, and I would like to add fees data/information in the TxnData argument (as a column).
>>>>>>
>>>>>> When looking at the function, by running
>>>>>>
>>>>>> blotter:::addTxns
>>>>>> it seems to use the column names "Price" and "Quantity" but automatically sets/assigns the TxnFees to zero.
>>>>>>
>>>>>> Is there a way of overwriting this, so that it can be included in my analysis?
>>>>>>
>>>
More information about the R-SIG-Finance
mailing list