Proposal: Markets
Times out and is Enacted 12-1. ~lilomar
Adminned at 24 Apr 2011 17:21:01 UTC
If the rule “Corporations” does not exist, this proposal does nothing.
Replace the word “stocks” with the word “shares” throughout the Dynastic ruleset.
Add a new definition to the glossary:
* Two rules are “siblings” of each other if they are both direct subrules of the same rule.
Add to the rule “Corporations”:
Each Corporation has a unique Ticker Symbol, which is a string of upper-case letters, which is listed on the BN Index on the wiki.
Add a Ticker Symbol to the BN Index wiki page for each Corporation listed there such that all letters in the Ticker Symbol are present in the Corporation’s name in the same order that they are in the Ticker Symbol.
Add a new dynastic rule entitled “Market Orders”:
For the purpose of this rule and its subrules, the Market is considered to be an Investor. Each Investor has an Order, tracked in the GNDT. Its starting value is blank. Each Investor may set their own Order to any string of text at any time.
Add a subrule to “Market Orders” entitled “Sell Orders”:
An Order that has the form ‘SELL X ABC @ $Y’ where X and Y are positive integers and ABC is the Ticker Symbol of a Corporation is a Sell Order. At any time, any Investor may execute any Sell Order according to the following rules:
Add a subrule to “Sell Orders” entitled “Definitions”:
For the purposes of this rule’s siblings:
* ‘Seller’ means the Investor that owns the Sell Order that is being executed
* ‘Buyer’ means the Investor that is executing the Sell Order
* ‘X’ and ‘Y’ refer to the corresponding integers in the Sell Order
* ‘ABC’ refers to the Corporation that has the same Ticker Symbol as the one listed in the Sell Order
Add a subrule to “Sell Orders” entitled “Restrictions”:
A Sell Order may not be executed unless the following conditions are met:
* The Buyer has at least X * (Y+1) Credits of Currency
* The Seller has at least X shares of ABC
* The Buyer and the Seller are not the same Investor
* Neither the Buyer nor the Seller is in the process of executing any other Order
Add a subrule to “Sell Orders” entitled “Execution”:
To execute a Sell Order, the Buyer performs the following actions in this order:
* Set the Seller’s Order to blank, with the GNDT comment ‘Executing Sell Order’
* Decrease the Buyer’s Currency by X * (Y+1) Credits
* Increase the Market’s Currency by X Credits
* Increase the Seller’s Currency by X * Y Credits
* Decrease the Seller’s shares of ABC by X
* Increase the Buyer’s shares of ABC by X
Add a subrule to “Market Orders” entitled “Buy Orders”:
An Order that has the form ‘BUY X ABC @ $Y’ where X and Y are positive integers and ABC is the Ticker Symbol of a Corporation is a Buy Order. At any time, any Investor may execute any Buy Order according to the following rules:
Add a subrule to “Buy Orders” entitled “Definitions”:
For the purposes of this rule’s siblings:
* ‘Buyer’ means the Investor that owns the Buy Order that is being executed
* ‘Seller’ means the Investor that is executing the Buy Order
* ‘X’ and ‘Y’ refer to the corresponding integers in the Buy Order
* ‘ABC’ refers to the Corporation that has the same Ticker Symbol as the one listed in the Buy Order
Add a subrule to “Buy Orders” entitled “Restrictions”:
A Buy Order may not be executed unless the following conditions are met:
* The Buyer has at least X * (Y+1) Credits of Currency
* The Seller has at least X shares of ABC
* The Buyer and the Seller are not the same Investor
* Neither the Buyer nor the Seller is in the process of executing any other Order
Add a subrule to “Buy Orders” entitled “Execution”:
To execute a Buy Order, the Seller performs the following actions in this order:
* Set the Buyer’s Order to blank, with the GNDT comment ‘Executing Buy Order’
* Decrease the Seller’s shares of ABC by X
* Increase the Buyer’s shares of ABC by X
* Decrease the Buyer’s Currency by X * (Y+1) Credits
* Increase the Market’s Currency by X Credits
* Increase the Seller’s Currency by X * Y Credits
Apologies for the length. This sets up the basic mechanisms of a stock market: you can post orders to buy or sell shares of stock, and anyone that thinks it’s a good deal can execute the order. This should probably be patched later to allow orders to be partially executed, and Investors to have multiple orders outstanding at the same time. It also changes “stocks” to “shares” in case Spikebrennan’s proposal fails.
Winner: