Python: E1136:Value 'self.exchange.get_portfolio' is unsubscriptable
up vote
0
down vote
favorite
def get_portfolio(self):
contracts = settings.CONTRACTS
portfolio = {}
for symbol in contracts:
position = self.bitmex.position(symbol=symbol)
instrument = self.bitmex.instrument(symbol=symbol)
if instrument['isQuanto']:
future_type = "Quanto"
elif instrument['isInverse']:
future_type = "Inverse"
elif not instrument['isQuanto'] and not instrument['isInverse']:
future_type = "Linear"
else:
raise NotImplementedError("Unknown future type; not quanto or inverse: %s" % instrument['symbol'])
if instrument['underlyingToSettleMultiplier'] is None:
multiplier = float(instrument['multiplier']) / float(instrument['quoteToSettleMultiplier'])
else:
multiplier = float(instrument['multiplier']) / float(instrument['underlyingToSettleMultiplier'])
portfolio[symbol] = {
"currentQty": float(position['currentQty']),
"futureType": future_type,
"multiplier": multiplier,
"markPrice": float(instrument['markPrice']),
"spot": float(instrument['indicativeSettlePrice'])
}
return portfolio
qty = self.exchange.get_portfolio['currentQty']()
Does anybody know what I am doing wrong when I am calling the get_portfolio function because I keep getting this error message:
E1136:Value 'self.exchange.get_portfolio' is unsubscriptable
python algorithm bitmex
add a comment |
up vote
0
down vote
favorite
def get_portfolio(self):
contracts = settings.CONTRACTS
portfolio = {}
for symbol in contracts:
position = self.bitmex.position(symbol=symbol)
instrument = self.bitmex.instrument(symbol=symbol)
if instrument['isQuanto']:
future_type = "Quanto"
elif instrument['isInverse']:
future_type = "Inverse"
elif not instrument['isQuanto'] and not instrument['isInverse']:
future_type = "Linear"
else:
raise NotImplementedError("Unknown future type; not quanto or inverse: %s" % instrument['symbol'])
if instrument['underlyingToSettleMultiplier'] is None:
multiplier = float(instrument['multiplier']) / float(instrument['quoteToSettleMultiplier'])
else:
multiplier = float(instrument['multiplier']) / float(instrument['underlyingToSettleMultiplier'])
portfolio[symbol] = {
"currentQty": float(position['currentQty']),
"futureType": future_type,
"multiplier": multiplier,
"markPrice": float(instrument['markPrice']),
"spot": float(instrument['indicativeSettlePrice'])
}
return portfolio
qty = self.exchange.get_portfolio['currentQty']()
Does anybody know what I am doing wrong when I am calling the get_portfolio function because I keep getting this error message:
E1136:Value 'self.exchange.get_portfolio' is unsubscriptable
python algorithm bitmex
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
def get_portfolio(self):
contracts = settings.CONTRACTS
portfolio = {}
for symbol in contracts:
position = self.bitmex.position(symbol=symbol)
instrument = self.bitmex.instrument(symbol=symbol)
if instrument['isQuanto']:
future_type = "Quanto"
elif instrument['isInverse']:
future_type = "Inverse"
elif not instrument['isQuanto'] and not instrument['isInverse']:
future_type = "Linear"
else:
raise NotImplementedError("Unknown future type; not quanto or inverse: %s" % instrument['symbol'])
if instrument['underlyingToSettleMultiplier'] is None:
multiplier = float(instrument['multiplier']) / float(instrument['quoteToSettleMultiplier'])
else:
multiplier = float(instrument['multiplier']) / float(instrument['underlyingToSettleMultiplier'])
portfolio[symbol] = {
"currentQty": float(position['currentQty']),
"futureType": future_type,
"multiplier": multiplier,
"markPrice": float(instrument['markPrice']),
"spot": float(instrument['indicativeSettlePrice'])
}
return portfolio
qty = self.exchange.get_portfolio['currentQty']()
Does anybody know what I am doing wrong when I am calling the get_portfolio function because I keep getting this error message:
E1136:Value 'self.exchange.get_portfolio' is unsubscriptable
python algorithm bitmex
def get_portfolio(self):
contracts = settings.CONTRACTS
portfolio = {}
for symbol in contracts:
position = self.bitmex.position(symbol=symbol)
instrument = self.bitmex.instrument(symbol=symbol)
if instrument['isQuanto']:
future_type = "Quanto"
elif instrument['isInverse']:
future_type = "Inverse"
elif not instrument['isQuanto'] and not instrument['isInverse']:
future_type = "Linear"
else:
raise NotImplementedError("Unknown future type; not quanto or inverse: %s" % instrument['symbol'])
if instrument['underlyingToSettleMultiplier'] is None:
multiplier = float(instrument['multiplier']) / float(instrument['quoteToSettleMultiplier'])
else:
multiplier = float(instrument['multiplier']) / float(instrument['underlyingToSettleMultiplier'])
portfolio[symbol] = {
"currentQty": float(position['currentQty']),
"futureType": future_type,
"multiplier": multiplier,
"markPrice": float(instrument['markPrice']),
"spot": float(instrument['indicativeSettlePrice'])
}
return portfolio
qty = self.exchange.get_portfolio['currentQty']()
Does anybody know what I am doing wrong when I am calling the get_portfolio function because I keep getting this error message:
E1136:Value 'self.exchange.get_portfolio' is unsubscriptable
python algorithm bitmex
python algorithm bitmex
edited Nov 10 at 16:48
shriek
2,01342651
2,01342651
asked Nov 10 at 16:07
Varun Reddy
1
1
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
1
down vote
You have a little mistake in the call:
self.exchange.get_portfolio
is a function, so you first have to call it and then you can reference the entries from the returned dict.
Oh I just saw, that you also have to insert your symbol
before:
qty = self.exchange.get_portfolio()[<YOUR_SYMBOL>]['currentQty']
If you don't know the symbols, you can use the keys
function which lists all the keys of your dict:
port = self.exchange.get_portfolio()
port_keys = port.keys()
qty = port[port_keys[<SOME KEY NUMBER>]]['currentQty']
thank you!!, your help was much appreciated
– Varun Reddy
Nov 10 at 16:16
Don't forget to accept the answer, so others know it's solved ;)
– user8408080
Nov 10 at 16:18
@VarunReddy you tested it and worked?
– Geeocode
Nov 10 at 16:19
@VarunReddy user8408080 He may not know the symbol's value, see my working answer below
– Geeocode
Nov 10 at 16:30
You think I should also point out, that there is akeys
function?
– user8408080
Nov 10 at 16:32
|
show 2 more comments
up vote
0
down vote
You should do it as follows:
qty = self.exchange.get_portfolio()
qty = qty[qty.keys()[0]]['currentQty']
or in a single row:
qty = self.exchange.get_portfolio()[self.exchange.get_portfolio().keys()[0]]['currentQty']
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
You have a little mistake in the call:
self.exchange.get_portfolio
is a function, so you first have to call it and then you can reference the entries from the returned dict.
Oh I just saw, that you also have to insert your symbol
before:
qty = self.exchange.get_portfolio()[<YOUR_SYMBOL>]['currentQty']
If you don't know the symbols, you can use the keys
function which lists all the keys of your dict:
port = self.exchange.get_portfolio()
port_keys = port.keys()
qty = port[port_keys[<SOME KEY NUMBER>]]['currentQty']
thank you!!, your help was much appreciated
– Varun Reddy
Nov 10 at 16:16
Don't forget to accept the answer, so others know it's solved ;)
– user8408080
Nov 10 at 16:18
@VarunReddy you tested it and worked?
– Geeocode
Nov 10 at 16:19
@VarunReddy user8408080 He may not know the symbol's value, see my working answer below
– Geeocode
Nov 10 at 16:30
You think I should also point out, that there is akeys
function?
– user8408080
Nov 10 at 16:32
|
show 2 more comments
up vote
1
down vote
You have a little mistake in the call:
self.exchange.get_portfolio
is a function, so you first have to call it and then you can reference the entries from the returned dict.
Oh I just saw, that you also have to insert your symbol
before:
qty = self.exchange.get_portfolio()[<YOUR_SYMBOL>]['currentQty']
If you don't know the symbols, you can use the keys
function which lists all the keys of your dict:
port = self.exchange.get_portfolio()
port_keys = port.keys()
qty = port[port_keys[<SOME KEY NUMBER>]]['currentQty']
thank you!!, your help was much appreciated
– Varun Reddy
Nov 10 at 16:16
Don't forget to accept the answer, so others know it's solved ;)
– user8408080
Nov 10 at 16:18
@VarunReddy you tested it and worked?
– Geeocode
Nov 10 at 16:19
@VarunReddy user8408080 He may not know the symbol's value, see my working answer below
– Geeocode
Nov 10 at 16:30
You think I should also point out, that there is akeys
function?
– user8408080
Nov 10 at 16:32
|
show 2 more comments
up vote
1
down vote
up vote
1
down vote
You have a little mistake in the call:
self.exchange.get_portfolio
is a function, so you first have to call it and then you can reference the entries from the returned dict.
Oh I just saw, that you also have to insert your symbol
before:
qty = self.exchange.get_portfolio()[<YOUR_SYMBOL>]['currentQty']
If you don't know the symbols, you can use the keys
function which lists all the keys of your dict:
port = self.exchange.get_portfolio()
port_keys = port.keys()
qty = port[port_keys[<SOME KEY NUMBER>]]['currentQty']
You have a little mistake in the call:
self.exchange.get_portfolio
is a function, so you first have to call it and then you can reference the entries from the returned dict.
Oh I just saw, that you also have to insert your symbol
before:
qty = self.exchange.get_portfolio()[<YOUR_SYMBOL>]['currentQty']
If you don't know the symbols, you can use the keys
function which lists all the keys of your dict:
port = self.exchange.get_portfolio()
port_keys = port.keys()
qty = port[port_keys[<SOME KEY NUMBER>]]['currentQty']
edited Nov 10 at 16:36
answered Nov 10 at 16:11
user8408080
75328
75328
thank you!!, your help was much appreciated
– Varun Reddy
Nov 10 at 16:16
Don't forget to accept the answer, so others know it's solved ;)
– user8408080
Nov 10 at 16:18
@VarunReddy you tested it and worked?
– Geeocode
Nov 10 at 16:19
@VarunReddy user8408080 He may not know the symbol's value, see my working answer below
– Geeocode
Nov 10 at 16:30
You think I should also point out, that there is akeys
function?
– user8408080
Nov 10 at 16:32
|
show 2 more comments
thank you!!, your help was much appreciated
– Varun Reddy
Nov 10 at 16:16
Don't forget to accept the answer, so others know it's solved ;)
– user8408080
Nov 10 at 16:18
@VarunReddy you tested it and worked?
– Geeocode
Nov 10 at 16:19
@VarunReddy user8408080 He may not know the symbol's value, see my working answer below
– Geeocode
Nov 10 at 16:30
You think I should also point out, that there is akeys
function?
– user8408080
Nov 10 at 16:32
thank you!!, your help was much appreciated
– Varun Reddy
Nov 10 at 16:16
thank you!!, your help was much appreciated
– Varun Reddy
Nov 10 at 16:16
Don't forget to accept the answer, so others know it's solved ;)
– user8408080
Nov 10 at 16:18
Don't forget to accept the answer, so others know it's solved ;)
– user8408080
Nov 10 at 16:18
@VarunReddy you tested it and worked?
– Geeocode
Nov 10 at 16:19
@VarunReddy you tested it and worked?
– Geeocode
Nov 10 at 16:19
@VarunReddy user8408080 He may not know the symbol's value, see my working answer below
– Geeocode
Nov 10 at 16:30
@VarunReddy user8408080 He may not know the symbol's value, see my working answer below
– Geeocode
Nov 10 at 16:30
You think I should also point out, that there is a
keys
function?– user8408080
Nov 10 at 16:32
You think I should also point out, that there is a
keys
function?– user8408080
Nov 10 at 16:32
|
show 2 more comments
up vote
0
down vote
You should do it as follows:
qty = self.exchange.get_portfolio()
qty = qty[qty.keys()[0]]['currentQty']
or in a single row:
qty = self.exchange.get_portfolio()[self.exchange.get_portfolio().keys()[0]]['currentQty']
add a comment |
up vote
0
down vote
You should do it as follows:
qty = self.exchange.get_portfolio()
qty = qty[qty.keys()[0]]['currentQty']
or in a single row:
qty = self.exchange.get_portfolio()[self.exchange.get_portfolio().keys()[0]]['currentQty']
add a comment |
up vote
0
down vote
up vote
0
down vote
You should do it as follows:
qty = self.exchange.get_portfolio()
qty = qty[qty.keys()[0]]['currentQty']
or in a single row:
qty = self.exchange.get_portfolio()[self.exchange.get_portfolio().keys()[0]]['currentQty']
You should do it as follows:
qty = self.exchange.get_portfolio()
qty = qty[qty.keys()[0]]['currentQty']
or in a single row:
qty = self.exchange.get_portfolio()[self.exchange.get_portfolio().keys()[0]]['currentQty']
answered Nov 10 at 16:25
Geeocode
1,7571718
1,7571718
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53240803%2fpython-e1136value-self-exchange-get-portfolio-is-unsubscriptable%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password