目前,我正在从Python切换到R,我正在尝试编写一些简单的代码来为投资组合定价,使用Jeff Ryan的Ibrokers包。我希望在我的一个对象中有一个类twsconn
的字段
setClass( "MktAsset",
representation( IB.id = "character",
asset.type = "factor",
ccy = "factor",
IB.conn = "twsconn") )
但系统看起来并不高兴
Msg是
在.completeClassSlots(ClassDef,where)中: “MktAsset”定义中未定义的槽类:IB.connection(类“twsconn”)
但是当我问tws类(用tws <- twsConnect()
初始化时,它返回
[1] "twsconn" "environment"
我试图通过代码检查是否存在类twsconn
但是,我什么也没找到。
有人可以帮忙吗?
非常感谢
答案 0 :(得分:3)
问题是S4中的S3。这应该有效:
setOldClass("twsconn") # this is what you are missing
setClass( "MktAsset",
representation( IB.id = "character",
asset.type = "factor",
ccy = "factor",
IB.conn = "twsconn") )
# [1] "MktAsset"
a <- new("MktAsset")
ibg <- ibgConnect() # connect to IB Gateway
a@IB.conn <- ibg
a
An object of class "MktAsset"
Slot "IB.id":
character(0)
Slot "asset.type":
factor(0)
Levels:
Slot "ccy":
factor(0)
Levels:
Slot "IB.conn":
<twsConnection,1 @ 20110325 13:15:22 CST, nextId=1>
如果你能够在4月份来到芝加哥的R / Finance www.RinFinance.com,我将在周五进行为期两小时的研讨会。 上午(4月29日)关于IBrokers(以及与R一般的算法交易) 我怀疑这会引起人们的兴趣。