[jira] Commented: (DAYTRADER-25) Update decimal precision and indexes in ddl

2006-11-15 Thread Christopher James Blythe (JIRA)
[ 
http://issues.apache.org/jira/browse/DAYTRADER-25?page=comments#action_12450223 
] 

Christopher James Blythe commented on DAYTRADER-25:
---

Matt... 

You mean it isn't possible for someone to become trillionare in DayTrader? What 
a crock!!! ;-)

Good point... found the code... the creep is due to the quote price updates 
that occur on every buy and sell. After load, the highest quote price is around 
$200 and we randomly multiple this by a number form 0.5 to 1.5. Some of the 
quotes end up as penny stocks while others can balloon to upwards of $1000. 

If the stock price gets down to $0.01 we automatically bump it up to $6.

For the time being, I suggest impossing some kind of ceiling on the maximum 
stock price and also making it an additive algorithm with less variance.

Something like...

changeFactor = random() * 0.2
if (random()  0.5)
   changeFactor *= -1

if (price  400)
   newPrice = 200;
else if (price  0.10)
   newPrice = 6
else
   newPrice += price + (changeFactor * price)

For Daytrader 2.0, I actually think we could beef up the logic by adding the 
concerpt of stock splits. When ever we reach the ceiling, we split the stock 
and double the shares for users holding that stock in their portfolio.

 Update decimal precision and indexes in ddl
 ---

 Key: DAYTRADER-25
 URL: http://issues.apache.org/jira/browse/DAYTRADER-25
 Project: DayTrader
  Issue Type: Improvement
Reporter: Christopher James Blythe
Priority: Minor

 While working with previous versions of Trade, I found that the monetary 
 values stored in the database could overrun the decimal precision defined in 
 the schema (10,2) if allowed to run for an extended period of time. This 
 would result in SQL exceptions related to data conversion.
 To prevent this we increased the decimal presion to (14,2)
 We also found that some of the indexs were not necessary and that others 
 should be added.
 In addition to the primary keys, here are the indexes we found to be the most 
 useful...
 CREATE INDEX a.profile_userid on accountejb(profile_userid);
 CREATE INDEX h.account_accountid on holdingejb(account_accountid);
 CREATE INDEX o.account_accountid on orderejb(account_accountid);
 CREATE INDEX o.holding_holdingid on orderejb(holding_holdingid);
 CREATE INDEX o.closed_orders on orderejb(account_accountid,orderstatus);
 Will wait to submit a patch until the fate of Daytrader-14 is determined.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (DAYTRADER-25) Update decimal precision and indexes in ddl

2006-11-15 Thread Christopher James Blythe (JIRA)
[ 
http://issues.apache.org/jira/browse/DAYTRADER-25?page=comments#action_12450225 
] 

Christopher James Blythe commented on DAYTRADER-25:
---

Opps minor typo...

newPrice = price + (changeFactor * price)

 Update decimal precision and indexes in ddl
 ---

 Key: DAYTRADER-25
 URL: http://issues.apache.org/jira/browse/DAYTRADER-25
 Project: DayTrader
  Issue Type: Improvement
Reporter: Christopher James Blythe
Priority: Minor

 While working with previous versions of Trade, I found that the monetary 
 values stored in the database could overrun the decimal precision defined in 
 the schema (10,2) if allowed to run for an extended period of time. This 
 would result in SQL exceptions related to data conversion.
 To prevent this we increased the decimal presion to (14,2)
 We also found that some of the indexs were not necessary and that others 
 should be added.
 In addition to the primary keys, here are the indexes we found to be the most 
 useful...
 CREATE INDEX a.profile_userid on accountejb(profile_userid);
 CREATE INDEX h.account_accountid on holdingejb(account_accountid);
 CREATE INDEX o.account_accountid on orderejb(account_accountid);
 CREATE INDEX o.holding_holdingid on orderejb(holding_holdingid);
 CREATE INDEX o.closed_orders on orderejb(account_accountid,orderstatus);
 Will wait to submit a patch until the fate of Daytrader-14 is determined.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (DAYTRADER-25) Update decimal precision and indexes in ddl

2006-11-15 Thread Matt Hogstrom (JIRA)
[ 
http://issues.apache.org/jira/browse/DAYTRADER-25?page=comments#action_12450253 
] 

Matt Hogstrom commented on DAYTRADER-25:


Great idea...stock split.

So, for 1.2 we'll add the logic you suggested above and for 2.0 look at splits. 
 Nice.

 Update decimal precision and indexes in ddl
 ---

 Key: DAYTRADER-25
 URL: http://issues.apache.org/jira/browse/DAYTRADER-25
 Project: DayTrader
  Issue Type: Improvement
Reporter: Christopher James Blythe
Priority: Minor

 While working with previous versions of Trade, I found that the monetary 
 values stored in the database could overrun the decimal precision defined in 
 the schema (10,2) if allowed to run for an extended period of time. This 
 would result in SQL exceptions related to data conversion.
 To prevent this we increased the decimal presion to (14,2)
 We also found that some of the indexs were not necessary and that others 
 should be added.
 In addition to the primary keys, here are the indexes we found to be the most 
 useful...
 CREATE INDEX a.profile_userid on accountejb(profile_userid);
 CREATE INDEX h.account_accountid on holdingejb(account_accountid);
 CREATE INDEX o.account_accountid on orderejb(account_accountid);
 CREATE INDEX o.holding_holdingid on orderejb(holding_holdingid);
 CREATE INDEX o.closed_orders on orderejb(account_accountid,orderstatus);
 Will wait to submit a patch until the fate of Daytrader-14 is determined.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Commented: (DAYTRADER-25) Update decimal precision and indexes in ddl

2006-11-14 Thread Matt Hogstrom (JIRA)
[ 
http://issues.apache.org/jira/browse/DAYTRADER-25?page=comments#action_12449883 
] 

Matt Hogstrom commented on DAYTRADER-25:


I noticed the creep as well in the values.  We should probably look at changing 
the algorthm for change so the numbers don't grow unbounded :)

 Update decimal precision and indexes in ddl
 ---

 Key: DAYTRADER-25
 URL: http://issues.apache.org/jira/browse/DAYTRADER-25
 Project: DayTrader
  Issue Type: Improvement
Reporter: Christopher James Blythe
Priority: Minor

 While working with previous versions of Trade, I found that the monetary 
 values stored in the database could overrun the decimal precision defined in 
 the schema (10,2) if allowed to run for an extended period of time. This 
 would result in SQL exceptions related to data conversion.
 To prevent this we increased the decimal presion to (14,2)
 We also found that some of the indexs were not necessary and that others 
 should be added.
 In addition to the primary keys, here are the indexes we found to be the most 
 useful...
 CREATE INDEX a.profile_userid on accountejb(profile_userid);
 CREATE INDEX h.account_accountid on holdingejb(account_accountid);
 CREATE INDEX o.account_accountid on orderejb(account_accountid);
 CREATE INDEX o.holding_holdingid on orderejb(holding_holdingid);
 CREATE INDEX o.closed_orders on orderejb(account_accountid,orderstatus);
 Will wait to submit a patch until the fate of Daytrader-14 is determined.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira