Bitcoin Forum

Economy => Securities => Topic started by: Tritonio on May 16, 2012, 10:15:55 PM



Title: GBLSE assets data spreadsheet
Post by: Tritonio on May 16, 2012, 10:15:55 PM
I collected all GLBSE assets on Google Spreadsheets using some simple scripts that pull the data from GLBSE and refresh the spreadsheet automatically. The spreadsheet is sorted by the time it will take for the dividents to pay out the cost of a share/bond. As some people said it's not good for every situation but it's good for mining shares.

Formats
⇒HTML (http://tinyurl.com/glbsehtml) *Best for online browsing*
⇒PDF (http://tinyurl.com/glbsepdf) *Best for offline browsing*
⇒CSV (http://tinyurl.com/glbsecsv) *Can be imported to Excel easily*
⇒TSV (http://tinyurl.com/glbsetxt)


Columns
  • Symbol
  • Description
  • Verified
  • MHash/s /share (if applicable)
  • PPS (if applicable)
  • Days between payments to dividents
  • Last payment to dividents (BTC)
  • Price
  • Price / (Mhash/s)
  • Market capitalization (disabled for now)
  • Payments to even out cost of share
  • Days to even out cost of share
  • Link

Problems?
If you find symbols missing or wrong data, post them in this thread and I will fix it.


Title: Re: GBLSE mining companies data spreadsheet
Post by: bitcoiners on May 17, 2012, 03:29:07 AM
So I was fooling around and made this: http://bittit.info/index.php?address=17i9NCgLbdPfH4uH6YhmxyXSZYfdsHaSBK (http://bittit.info/index.php?address=17i9NCgLbdPfH4uH6YhmxyXSZYfdsHaSBK)
I don't know if anyone is interested to tip in for it but I'm posting it anyhow as an experiment.  ;)

Columns:
  • Symbol
  • Verified
  • MHash/s /share (if applicable)
  • PPS (if applicable)
  • Days between payments to dividents
  • Last payment to dividents (BTC)
  • Price
  • Price / (Mhash/s)
  • Payments to even out cost of share
  • Days to even out cost of share
  • Link

I get a blank page.  No numbers.


Title: Re: GBLSE mining companies data spreadsheet
Post by: Tritonio on May 17, 2012, 10:56:05 AM
I get a blank page.  No numbers.

Not even the column headers? You are supposed to download a file that contains only the headers. To increase the filesize you've got to pay at its address, wait for a while and redownload. Whenever someone tips into that address the file size will increase for everyone. So when 0.5BTC is collected everyone will be able to get the file for free. (as I said I'm just trying the waters here)

sub, also TyGrrMBA just went live:)

I've seen this many times, but: what is "sub"?


Title: Re: GBLSE mining companies data spreadsheet
Post by: Tritonio on May 17, 2012, 11:18:35 AM
Ah thanks for the explanation.

Oh, and I just made it free instead.


Title: Re: GBLSE mining companies data spreadsheet
Post by: PsychoticBoy on May 17, 2012, 02:16:32 PM
Good job well done  ;D

Keep up the good work.


Greetz


Title: Re: GBLSE mining companies data spreadsheet
Post by: Tritonio on May 17, 2012, 02:21:40 PM
Do you people think I should expand this to all shares and bonds?
The columns related to hash power would not make sense for other shares and bonds of course so I could either remove those columns or I could leave them empty.

Also currently the last divident payment is what it say: the last payment (in BTC). Should I change that to weighted average of all divident payments?

BTW there a few script running behind the spreadsheet that autoupdate some of the values. Soon I hope to make it almost self-updating.


Title: Re: GBLSE mining companies data spreadsheet
Post by: REF on May 17, 2012, 02:27:10 PM
great idea to put these all down on a spread sheet.

Do you people think I should expand this to all shares and bonds?
The columns related to hash power would not make sense for other shares and bonds of course so I could either remove those columns or I could leave them empty.

Also currently the last divident payment is what it say: the last payment (in BTC). Should I change that to weighted average of all divident payments?

BTW there a few script running behind the spreadsheet that autoupdate some of the values. Soon I hope to make it almost self-updating.
If you did this for other bonds I would rather see it on spread sheet.


Title: Re: GBLSE mining companies data spreadsheet
Post by: Sukrim on May 17, 2012, 02:28:09 PM
sub - subscribe. so we can get notified up updated to threads we want to watch.
... because clicking "notify" at the bottom of the page is too hard to do! ::)

An average wouldn't make sense, rather a cumulative value since start of the bond.

I for example add up all dividends per share per month and compare this to the theoretical value of 100% PPS for 1 month. Quite interesting numbers that come up that way!


Title: Re: GBLSE mining companies data spreadsheet
Post by: ColdHardMetal on May 17, 2012, 02:48:52 PM
... because clicking "notify" at the bottom of the page is too hard to do! ::)


If only it would do what we want it to, that would make sense.


Title: Re: GBLSE mining companies data spreadsheet
Post by: JWU42 on May 17, 2012, 04:01:06 PM
Zeta Mining hasn't paid a div yet to the best of my knowledge...

Also - created the following shortened link - http://snipurl.com/glbsedata


Title: Re: GBLSE mining companies data spreadsheet
Post by: REF on May 17, 2012, 04:51:34 PM
you should make the symbol hyperlink to the glbse asset page. In the link column you should put the link to forum thread if there is one.


Title: Re: GBLSE mining companies data spreadsheet
Post by: Tritonio on May 17, 2012, 05:44:59 PM
you should make the symbol hyperlink to the glbse asset page. In the link column you should put the link to forum thread if there is one.

I can't promise I'll do that because of the way the spreadsheet works. I'll see if it's possible (without changing every script behind the sheet) after I finish adding all symbols to the spreadsheet. But it's a nice idea, especially having links to the threads in the forum.


Title: Re: GBLSE mining companies data spreadsheet
Post by: smickles on May 17, 2012, 08:58:45 PM
Would it be possible to list MPOE ETF on your spreadsheet?
GLBSE asset page (https://glbse.com/asset/view/MPOE.ETF)
More information (https://bitcointalk.org/index.php?topic=67535.0)

That humble request aside, I like what you have done here and it surely benefits the community :)


Title: Re: GBLSE mining companies data spreadsheet
Post by: Tritonio on May 17, 2012, 09:19:19 PM
Smickles I am was just about to add as I am slowlly adding ALL symbols to the spreadsheet. Coul you tell me what short description I should use for it? Check the descriptions column to see what exactly I mean. (For now I'll leave it without a description)

EDIT: Also do we know how often it is paying out dividents?


Title: Re: GBLSE mining companies data spreadsheet
Post by: bitcoiners on May 18, 2012, 12:07:17 AM
I get a blank page.  No numbers.

Not even the column headers? You are supposed to download a file that contains only the headers. To increase the filesize you've got to pay at its address, wait for a while and redownload. Whenever someone tips into that address the file size will increase for everyone. So when 0.5BTC is collected everyone will be able to get the file for free. (as I said I'm just trying the waters here)

Cool.  I see everything now!  Thanks for this!

Cheers.


Title: Re: GBLSE mining companies data spreadsheet
Post by: ColdHardMetal on May 18, 2012, 02:14:26 AM
You should probably change the title to "Assets Table" since not all, or even many, of the items listed are actually shares.

A column indicating whether a particular assets is a bond or share would be neat to.

Nice job :)


Title: Re: GBLSE mining companies data spreadsheet
Post by: Tritonio on May 18, 2012, 03:15:58 AM
Changed the name. The column would be nice but I have trouble telling them appart in quite a few cases. For now I've marked some of them in the description column as bonds.

Bonds should be bought back at some point and don't pay dividents? Is that right?

Oh and I added all symbols to the spreadsheet. Will add the ones on IPO if they are not already in.


Title: Re: GBLSE mining companies data spreadsheet
Post by: brendio on May 18, 2012, 03:58:05 AM
Hey nice work, but do note that in some cases you are comparing apples and oranges with your metrics. It's always nice to have shortcuts, but things like "days to even out cost of share" are not comparable between a perpetual mining bond, a mining share, and a financial bond with principal payment at maturity.

Also note, BIB.GOAT was a bond, not a mining operation. It was secured by mining assets, but that is irrelevant to the analysis. Also, it has now matured and is worthless, so you should probably remove it from your list.


Title: Re: GBLSE mining companies data spreadsheet
Post by: Tritonio on May 18, 2012, 12:34:05 PM
Hey nice work, but do note that in some cases you are comparing apples and oranges with your metrics. It's always nice to have shortcuts, but things like "days to even out cost of share" are not comparable between a perpetual mining bond, a mining share, and a financial bond with principal payment at maturity.

Also note, BIB.GOAT was a bond, not a mining operation. It was secured by mining assets, but that is irrelevant to the analysis. Also, it has now matured and is worthless, so you should probably remove it from your list.

So let me get this straight. Describe the following as bonds or shares.

1. Someones sells 1MHash at PPS100% per bond/share indefinitelly with the ability to buy back whenever he wants. My guess: Perpetual mining bond.
2. Someone sells 1Mhash per bond/share minus expenses for electricity etc indefinitelly. My guess: share of a mining operation (I would describe it as "mining operation" on the spreadsheet).
3. Somone sells shares to his mining operation without any guarantee about dividents or power per share/bond. My guess: same as the previous one

Am I right on those?

Also what is the differences between bond and shares? As I get it shares NEVER have guarantees on the divident payments. If the company doesn't have profit, divident payments will not happen. On the other hand bond MAY have some guarantees on divident payments and MAY have a guarantee about buyback. For example "You buy this at 1BTC/bond, I'll be paying 0.01BTC per week in dividents and in 12 months I'll buy back the bond at 0.9BTC. Additinaly I reserve the right to buy back the bond at any time at 1.5BTC.". Now about this last one "the right to buy back whenever you want. How does it happen? I mean if there are no ask orders on the market how is the issuer going to buy back?

And one last thing. When you do an IPO, and the people bid on the initial value of the asset, do you have to sell all of the assets issued? For example if I want to issue and sell 100 bonds at 1BTC/each and 50 people bid 1.5BTC/bond while another 50 people bid 0.9BTC/bond, what will happen? I suppose I would still issue an ask order 100@1BTC/each and only 50 people would get bonds from me (BTW at what price? 1BTC or 1.5BTC? Would there be any difference in this process is I was issuing shares and not bonds?

So I'll change GIGAMINING etc into "perpetual mining bonds" and leave that that just share profits from mining as "mining operation".


Title: Re: GBLSE mining companies data spreadsheet
Post by: organofcorti on May 18, 2012, 04:47:11 PM
Good work. It's a handy reference for investors.


Title: Re: GBLSE mining companies data spreadsheet
Post by: ColdHardMetal on May 19, 2012, 05:43:53 AM
I think what we need to be doing is referring to the mining bonds a bit differently.

A traditional bond has a fixed coupon payment at regular intervals. Most of the mining assets are variable payouts depending on the results of mining in a certain time frame, so don't fit that definition. Some payout at regular intervals, and I believe some pay out at difficulty changes, although that doesn't matter all that much I suppose.

Because of the variable nature of the coupon payment they are more like Floating Rate Notes (http://en.wikipedia.org/wiki/Floating_rate_note) where the coupon payment is dependent on mining results rather than LIBOR or whatever.

Maybe we need to be incorporating that term into our lexicon, instead of using the "bond" label as broadly as we have been.


Title: Re: GBLSE mining companies data spreadsheet
Post by: Tritonio on May 20, 2012, 01:46:20 PM
I suppose this a more of a suggestion for GLBSE and not for the spreadsheet, right? Although if you can think of a better way to describe "perpetual mining bond" so that everyone understands what it is, then I'll change it in the spreadsheet.


Title: Re: GBLSE mining companies data spreadsheet
Post by: pyramining on May 22, 2012, 01:10:42 AM
Is this valid also for Mining Ops that are outside GLBSE? Can http://www.pyramining.com/ be included?


Title: Re: GBLSE mining companies data spreadsheet
Post by: Tritonio on May 22, 2012, 02:56:05 AM
Is this valid also for Mining Ops that are outside GLBSE? Can http://www.pyramining.com/ be included?

If they sell shares/bonds I might be able to include it somehow although I might need to make a few changes. Also I suppose there is no reason to include it if there is no market to sell and buy your shares/bonds.

After I quick read through the FAQ on the site I think that it doesn't really fit into the list. If I am wrong correct me and I'll see what I can do.



I also added more assets in the spreadsheet.


Title: Re: GBLSE mining companies data spreadsheet
Post by: pyramining on May 22, 2012, 08:17:59 PM
No they aren't exactly shares neither bonds. When you join you rent cheap hashing power (7.75 MH/s per BTC), and it starts mining until repays your deposit, plus a bonus. It's similar to a bond but can't be traded. I don't know if it fits in your table but would be nice to compare against other mining ops expecially for the competitive price per MH/s and the very high profitability.


Title: Re: GBLSE mining companies data spreadsheet
Post by: Tritonio on May 24, 2012, 04:31:33 AM
No they aren't exactly shares neither bonds. When you join you rent cheap hashing power (7.75 MH/s per BTC), and it starts mining until repays your deposit, plus a bonus. It's similar to a bond but can't be traded. I don't know if it fits in your table but would be nice to compare against other mining ops expecially for the competitive price per MH/s and the very high profitability.

If you could give me some way to get the number of days needed to pay back the invested value I could add it and sort it in the list.


Title: Re: GBLSE mining companies data spreadsheet
Post by: Tritonio on May 31, 2012, 01:09:17 AM
Added more assets. I'll try to add market capitalization for all assets tommorow.


Title: Re: GBLSE mining companies data spreadsheet
Post by: lomax on May 31, 2012, 01:14:46 AM
No 007?  ;)

Does the puremining entry PPS need fixing?


Title: Re: GBLSE mining companies data spreadsheet
Post by: Tritonio on May 31, 2012, 01:20:59 AM
No 007?  ;)

Does the puremining entry PPS need fixing?

What do you mean 007?

I'll check puremining tommorow when I'll be on my computer again. :-)


Title: Re: GBLSE mining companies data spreadsheet
Post by: lomax on May 31, 2012, 01:26:35 AM
What do you mean 007?
https://glbse.com/asset/view/007 (https://glbse.com/asset/view/007)


Title: Re: GBLSE mining companies data spreadsheet
Post by: Tritonio on May 31, 2012, 02:17:23 PM
Added 007. No idea how I missed that...
I didn't see anything wrong with PUREMINING. It's 1Mhash/s at 100% PPS (100%=1).


Title: Re: GBLSE mining companies data spreadsheet
Post by: brendio on May 31, 2012, 02:23:17 PM
Great resource!

Could you please add BIB.PIRATE. It's a BS&T pass-through that pays weekly dividends of 0.0675 per bond.

Also, I suggest you change the thread title, since your spreadsheet covers more than just mining companies.


Title: Re: GBLSE mining companies data spreadsheet
Post by: der_meister on May 31, 2012, 02:29:49 PM
Can we have such useful summary threads sticked?


Title: Re: GBLSE assets data spreadsheet
Post by: Tritonio on May 31, 2012, 03:34:50 PM
Changed the title.
Added BIB.PIRATE. It will fetch the divident automatically when it is first paid, I can't hardcode it into the spreadsheet.
Added market capitalization. Which is (last price)*(securities issued). Is that correct?



Title: Re: GBLSE assets data spreadsheet
Post by: nimda on June 01, 2012, 08:12:34 PM
Hmm... is there a way to export GLBSE in a nice parse-able format? I want to create a list of securities, sorted in descending order by
Code:
x = share_ask_price/average_dividend/average_time_between_dividends
Excluding Pirate bonds, I think that Tygrr-bond-B has the highest x value when calculated in that manner; am I right?

Edit: Going even further, I'd like to be able to create simple line graphs, which start at (-ask) and increase by the average payment period and the average dividend. This way, you could easily see how long it would take for a share of FOO.PPPPT to be more profitable than Tygrr-bond-P 8)

Edit2: Just checked, and Foo.PPPPT is now .11/share cheaper than before, and it's only .02 more expensive than Tygrr-bond-P


Title: Re: GBLSE assets data spreadsheet
Post by: Sukrim on June 01, 2012, 08:35:12 PM
Dividends will hopefully soon be part of the official API, an inofficial version is already working (https://bitcointalk.org/index.php?topic=74711.msg911270#msg911270), the rest of your data is calculable from that and/or already available.


Title: Re: GBLSE assets data spreadsheet
Post by: nimda on June 01, 2012, 08:37:45 PM
Cool, I'll wait.
Thanks


Title: Re: GBLSE assets data spreadsheet
Post by: Tritonio on June 01, 2012, 09:11:33 PM
I won't have proper Internet for two days.  I'll see if I can give more export formats when I get back.  Currently I parse the asset's page to see the dividents. That API would be helpful.


Title: Re: GBLSE assets data spreadsheet
Post by: publio on June 02, 2012, 02:14:21 AM
to get dividends call:

/api/dividends/asset/ticker_symbol

for actively traded assets go to:


/api/market/assets

It's not mentioned on the info page.


Title: Re: GBLSE assets data spreadsheet
Post by: GeoRW on June 02, 2012, 05:47:29 AM
Added market capitalization. Which is (last price)*(securities issued). Is that correct?



It is not correct. As number of securities you can use the number of shares for which dividend was paid last time, but as a lot of assets didn't pay any dividend yet and also some of them are bought back on a monthly basis (PPT bonds) just after dividend payment, you have no way to find out exact number of shares outstanding on the market until GLBSE will show this number or issuers of those assets will tell you (if you want to update those numbers manually)

You can check the thread I started here: https://bitcointalk.org/index.php?topic=84399.0


Title: Re: GBLSE assets data spreadsheet
Post by: btharper on June 04, 2012, 07:45:12 PM
This is what I've been using, hopefully it helps some
Code:
//Shrink an array down to at most 3 elements
//Helper function
function get3(info) {
//If you want more or less payouts, change this 3
  while(info.length > 3)
    info.shift();
  return info;
}

//Fetches asset info based on ticker
function getInfo(ticker) {
  return glbseCachedFetch("/api/asset/" + ticker);
}

//Fetches dividend info based on ticker
function getDiv(ticker) {
  return glbseCachedFetch("/api/dividends/asset/" + ticker);
}

//Fetches the price of an asset
//Returns first non-zero price from the list of 24h average, 5 day average, 7 day average, or last trade
function getPrice(ticker) {
  var info = getInfo(ticker);
  return (info.t24havg/100000000) || (info.t5davg/100000000) || (info.t7davg/100000000) || (info.latest_trade/100000000);
}

//Gets the average dividend from passed in array
function getDivArray(info) {
  Logger.log("Into getDivArray");
  if(info === null) return null;
  if(info.length == 0) return 0;
  Logger.log("Not null or zero length");
  var divTotal = 0;
  for(var i = 0; i < info.length; i++) {
    divTotal += info[i].pps;
    Logger.log("Step " + i + "/" + info.length + " " + String(divTotal));
  }
  Logger.log(String(divTotal));
  return divTotal / info.length / 100000000;
}
//Gets average dividend of all payouts
function getAvgDividend(ticker) {
  Logger.log("Into getAvgDividend " + ticker);
  var info = getDiv(ticker);
  Logger.log(info);
  Logger.log("Got Info");
  return getDivArray(info);
}
//Gets Average dividend of last 3 payouts
function get3AvgDividend(ticker) {
  var info = get3(getDiv(ticker));
  return getDivArray(info);
}

//Fetches info from GLBSE, caches when fetched and attempts to use the cache
//Caches info for 30 minutes
function glbseCachedFetch(apiUrl) {
  var publicCache = CacheService.getPublicCache();
  var cached = publicCache.get("http://glbse.com" + apiUrl);
  if(cached !== null && JSON.parse(cached).length > 1 ){
    return JSON.parse(cached);
  } else {
    getSleep();
    //Browser.msgBox("Fetching");
    Logger.log("Fetching");
    var response = UrlFetchApp.fetch("http://glbse.com"+apiUrl);
    //check for status code
    var result = response.getContentText();
    if(response.getResponseCode() < 300)//Only save if good fetch
      publicCache.put("http://glbse.com"+apiUrl, result, 60 * 30);//30 * 60 seconds - 30 minutes
    return JSON.parse(result);
  }
}

//Allows small delay between multiple fetches to lighten the load on GLBSE site
function getSleep() {
  var delay = 50;
  var date = new Date();
  var now = date.getTime();
  var cache = CacheService.getPublicCache();
  var cacheKey = "sleepUntil";
  var timeString = cache.get(cacheKey);
  var time = parseInt(timeString);
  var sleep = time - now;
 
  Logger.log(cacheKey + " " + timeString);
  Logger.log("parseInt " + time);
  Logger.log("sleeping " + sleep);
 
  if((timeString === null) || (timeString == "NaN") || (time === null) || (time == NaN) || (sleep < 0)) {
    cache.put(cacheKey, String(now + delay));
  } else {
    cache.put(cacheKey, String(time + delay));
    Utilities.sleep(sleep);
  }
}
//Days between payouts, based on all payouts
function daysBetween(ticker) {
  var info = getDiv(ticker);
  if(info === null) return null;
  if(info.length < 2) return Infinity;
  var first = info[0];
  var last = info.pop();
  return (last.timestamp - first.timestamp) / info.length / 3600 / 24;
}
//Days between payouts, based on the last 3 payouts
function daysBetween3(ticker) {
  var info = get3(getDiv(ticker));
  if(info === null) return null;
  if(info.length < 2) return Infinity;
  var first = info[0];
  var last = info.pop();
  return (last.timestamp - first.timestamp) / info.length / 3600 / 24;
}
These are the functions I'm using in my sheet, and while I'm not quite ready to show off the whole thing I hope this might be helpful to someone. I'm looking to get these published to the gallergy, but approval takes a while. These can be used regularly in a sheet as a docs formula or as a function on other scripts. These may be used as if under any license or as public domain where available.

Tips to 18ef54UQ3t9ieqU3MebyqMHjCpzKrZzS5N are greatly appreciated if you've got the spare coin and find these useful.


Title: Re: GBLSE assets data spreadsheet
Post by: Tritonio on June 05, 2012, 12:42:08 PM
So I was fooling around and made this: http://snipurl.com/glbsedata

Interesting, thank you. Please update that we pay dividends every 30 days, and that we are ID verified on the GLBSE. Thanks!

Done and done. You broke up your last divident payment into three payments though so it is a bit messed up. If you pay in a single payment next month it will be fine. But the code currently just picks the last payment and uses that alone.


Title: Re: GBLSE assets data spreadsheet
Post by: Tritonio on June 05, 2012, 12:45:20 PM
Added market capitalization. Which is (last price)*(securities issued). Is that correct?



It is not correct. As number of securities you can use the number of shares for which dividend was paid last time, but as a lot of assets didn't pay any dividend yet and also some of them are bought back on a monthly basis (PPT bonds) just after dividend payment, you have no way to find out exact number of shares outstanding on the market until GLBSE will show this number or issuers of those assets will tell you (if you want to update those numbers manually)

You can check the thread I started here: https://bitcointalk.org/index.php?topic=84399.0

I've hid the column for now. I'll consider putting it back in the future. Maybe I'll only do it for those that pay dividents since I can get that data automatically.


Title: Re: GBLSE assets data spreadsheet
Post by: Tritonio on June 05, 2012, 01:45:17 PM
Now it also gets the days between dividents automatically and uses the API to get everything.

BTW a little tip about the colors in the spreadsheet. They are mostly useful for me. Blue means that they are updated by the script in the background. Yellow are cells with formulas. And green are cells updated manually by me when needed.

I also added some more assets.


Title: Re: GBLSE assets data spreadsheet
Post by: Tritonio on June 09, 2012, 01:58:57 PM
Updated the OP with more links to different formats (HTML,PDF,CSV,TSV).  ;)
Use the CSV to import to Excel and do shorting by any column etc...


Title: Re: GBLSE assets data spreadsheet
Post by: Tritonio on June 22, 2012, 10:43:23 PM
More assets added.  ;D


Title: Re: GBLSE assets data spreadsheet
Post by: Tritonio on July 06, 2012, 01:46:38 AM
Again, added 11 more assets to the list. They will be up to date in a few minutes.