summaryrefslogtreecommitdiff
path: root/app/trading/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/trading/models.py')
-rw-r--r--app/trading/models.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/app/trading/models.py b/app/trading/models.py
index 720b834..d96970f 100644
--- a/app/trading/models.py
+++ b/app/trading/models.py
@@ -223,8 +223,21 @@ class LuxOptionPurchase(models.Model):
def __str__(self):
return str(self.symbol)
+ def get_absolute_url(self):
+ return reverse('luxtrade:option-update', kwargs={"pk": self.pk})
+
def get_contract_count(self):
- return self.luxoptioncontact_set.count()
+ return self.luxoptioncontract_set.count()
+
+ def profit_loss(self):
+ total = 0
+ for option in self.luxoptioncontract_set.all():
+ if option.contract_close_price:
+ pl = option.contract_close_price - option.contract_open_price
+ else:
+ pl = 0
+ total = total + pl
+ return total*100
@property
def stop_price(self):
@@ -232,7 +245,7 @@ class LuxOptionPurchase(models.Model):
@property
def total_invested(self):
- return round(self.get_contract_count()*(self.luxoptioncontact_set.first().contract_open_price*100))
+ return round(self.get_contract_count()*(self.luxoptioncontract_set.first().contract_open_price*100))
@property
def trade_risk(self):
@@ -244,11 +257,11 @@ class LuxOptionPurchase(models.Model):
@property
def sell_half_at(self):
- return self.luxoptioncontact_set.first().contract_open_price*1.25
+ return self.luxoptioncontract_set.first().contract_open_price*1.25
@property
def contract_price(self):
- return self.luxoptioncontact_set.first().contract_open_price
+ return self.luxoptioncontract_set.first().contract_open_price
def save(self, *args, **kwargs):
if self.status == 1 and not self.close_date:
@@ -259,7 +272,7 @@ class LuxOptionPurchase(models.Model):
super(LuxOptionPurchase, self).save()
-class LuxOptionContact(models.Model):
+class LuxOptionContract(models.Model):
symbol = models.CharField(max_length=256)
strike_price = models.FloatField()
expiration_date = models.DateField()