Saturday, April 23, 2011

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.

Comments

Winner:

23-04-2011 00:56:40 UTC

for O.O

lilomar:

23-04-2011 01:28:47 UTC

for tl;d….oh, right, yeah, actually i did read it. seems long, but works.

spikebrennan:

23-04-2011 01:58:56 UTC

for

Darknight: he/him

23-04-2011 05:59:33 UTC

imperial MAJOR TLDR! my head hurts now

Purplebeard:

23-04-2011 08:03:17 UTC

for Me like.

Ely:

23-04-2011 08:11:45 UTC

imperial chief say yes, me say yes.
It’s long, but quite easy and nicely worded.
I think we’ll have a lot of headache this Dynasty…

Axmann:

23-04-2011 10:34:51 UTC

against

spikebrennan:

23-04-2011 13:52:22 UTC

This works, for now, but I note that an Investor can only have one open Order (Buy or Sell) at a time.

imreading:

23-04-2011 13:56:09 UTC

imperial

spikebrennan:

23-04-2011 14:29:43 UTC

Also, these mechanics permit an order to be executed in its entirety, or not at all. So if someone has an order of SELL 100 ABC @ 10, nobody can buy 50 of the 100 and leave the order open with respect to the remaining 50.

Roujo: he/him

23-04-2011 17:38:02 UTC

imperial

Travis:

23-04-2011 22:46:15 UTC

imperial

Oze:

24-04-2011 01:33:15 UTC

for

Chivalrybean:

24-04-2011 14:02:57 UTC

imperial