Author

Topic: GBLSE assets data spreadsheet (Read 4749 times)

hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
July 05, 2012, 08:46:38 PM
#47
Again, added 11 more assets to the list. They will be up to date in a few minutes.
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
June 22, 2012, 05:43:23 PM
#46
More assets added.  Grin
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
June 09, 2012, 08:58:57 AM
#45
Updated the OP with more links to different formats (HTML,PDF,CSV,TSV).  Wink
Use the CSV to import to Excel and do shorting by any column etc...
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
June 05, 2012, 08:45:17 AM
#44
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.
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
June 05, 2012, 07:45:20 AM
#43
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://bitcointalksearch.org/topic/market-capitalization-of-top-20-most-traded-glbse-assets-84399

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.
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
June 05, 2012, 07:42:08 AM
#42
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.
sr. member
Activity: 389
Merit: 250
June 04, 2012, 02:45:12 PM
#41
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.
sr. member
Activity: 350
Merit: 257
Trust No One
June 02, 2012, 12:47:29 AM
#40
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://bitcointalksearch.org/topic/market-capitalization-of-top-20-most-traded-glbse-assets-84399
member
Activity: 64
Merit: 10
June 01, 2012, 09:14:21 PM
#39
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.
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
June 01, 2012, 04:11:33 PM
#38
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.
hero member
Activity: 784
Merit: 1000
0xFB0D8D1534241423
June 01, 2012, 03:37:45 PM
#37
Cool, I'll wait.
Thanks
legendary
Activity: 2618
Merit: 1007
June 01, 2012, 03:35:12 PM
#36
Dividends will hopefully soon be part of the official API, an inofficial version is already working (https://bitcointalksearch.org/topic/m.911270), the rest of your data is calculable from that and/or already available.
hero member
Activity: 784
Merit: 1000
0xFB0D8D1534241423
June 01, 2012, 03:12:34 PM
#35
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 Cool

Edit2: Just checked, and Foo.PPPPT is now .11/share cheaper than before, and it's only .02 more expensive than Tygrr-bond-P
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 31, 2012, 10:34:50 AM
#34
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?

full member
Activity: 155
Merit: 100
May 31, 2012, 09:29:49 AM
#33
Can we have such useful summary threads sticked?
hero member
Activity: 518
Merit: 500
May 31, 2012, 09:23:17 AM
#32
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.
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 31, 2012, 09:17:23 AM
#31
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).
member
Activity: 75
Merit: 10
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 30, 2012, 08:20:59 PM
#29
No 007?  Wink

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. :-)
member
Activity: 75
Merit: 10
May 30, 2012, 08:14:46 PM
#28
No 007?  Wink

Does the puremining entry PPS need fixing?
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 30, 2012, 08:09:17 PM
#27
Added more assets. I'll try to add market capitalization for all assets tommorow.
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 23, 2012, 11:31:33 PM
#26
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.
hero member
Activity: 501
Merit: 500
May 22, 2012, 03:17:59 PM
#25
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.
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 21, 2012, 09:56:05 PM
#24
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.
hero member
Activity: 501
Merit: 500
May 21, 2012, 08:10:42 PM
#23
Is this valid also for Mining Ops that are outside GLBSE? Can http://www.pyramining.com/ be included?
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 20, 2012, 08:46:20 AM
#22
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.
hero member
Activity: 700
Merit: 500
May 19, 2012, 12:43:53 AM
#21
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 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.
donator
Activity: 2058
Merit: 1007
Poor impulse control.
May 18, 2012, 11:47:11 AM
#20
Good work. It's a handy reference for investors.
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 18, 2012, 07:34:05 AM
#19
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".
hero member
Activity: 518
Merit: 500
May 17, 2012, 10:58:05 PM
#18
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.
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 17, 2012, 10:15:58 PM
#17
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.
hero member
Activity: 700
Merit: 500
May 17, 2012, 09:14:26 PM
#16
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 Smiley
sr. member
Activity: 322
Merit: 250
May 17, 2012, 07:07:17 PM
#15
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.
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 17, 2012, 04:19:19 PM
#14
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?
sr. member
Activity: 446
Merit: 250
May 17, 2012, 03:58:45 PM
#13
Would it be possible to list MPOE ETF on your spreadsheet?
GLBSE asset page
More information

That humble request aside, I like what you have done here and it surely benefits the community Smiley
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 17, 2012, 12:44:59 PM
#12
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.
REF
hero member
Activity: 529
Merit: 500
May 17, 2012, 11:51:34 AM
#11
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.
legendary
Activity: 1666
Merit: 1000
May 17, 2012, 11:01:06 AM
#10
Zeta Mining hasn't paid a div yet to the best of my knowledge...

Also - created the following shortened link - http://snipurl.com/glbsedata
hero member
Activity: 700
Merit: 500
May 17, 2012, 09:48:52 AM
#9
... because clicking "notify" at the bottom of the page is too hard to do! Roll Eyes


If only it would do what we want it to, that would make sense.
legendary
Activity: 2618
Merit: 1007
May 17, 2012, 09:28:09 AM
#8
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! Roll Eyes

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!
REF
hero member
Activity: 529
Merit: 500
May 17, 2012, 09:27:10 AM
#7
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.
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 17, 2012, 09:21:40 AM
#6
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.
donator
Activity: 1890
Merit: 1010
Parental Advisory Explicit Content
May 17, 2012, 09:16:32 AM
#5
Good job well done  Grin

Keep up the good work.


Greetz
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 17, 2012, 06:18:35 AM
#4
Ah thanks for the explanation.

Oh, and I just made it free instead.
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 17, 2012, 05:56:05 AM
#3
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"?
sr. member
Activity: 322
Merit: 250
May 16, 2012, 10:29:07 PM
#2
So I was fooling around and made this: 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.  Wink

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.
hero member
Activity: 640
Merit: 500
Vanity of vanities; all is vanity...
May 16, 2012, 05:15:55 PM
#1
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 *Best for online browsing*
PDF *Best for offline browsing*
CSV *Can be imported to Excel easily*
TSV


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.
Jump to: