SgtSpike
Legendary
Offline
Activity: 1400
Merit: 1005
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 10, 2012, 06:51:31 PM |
|
I received a little over 1.7% of my held balance back.
If the exchange rate goes up much more that would make it harder on BitFloor. It is like taking out a BTC loan and then having to repay from dollar-based income. No, because the transaction fees are a percentage so it scales up. The only way to make it harder or easier for Bitfloor to pay back its debts is to change its volume. Right, and for all of us doing dollar cost averaging increase in price means decrease in volume. OTOH, if Bitcoin goes to $1,000, you can bet on there being a lot higher volume, just because an increase in price generally correlates with an increase in interest.
|
|
|
|
bb113
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 10, 2013, 06:42:39 AM |
|
Apparently that 1.5% satisfied everyone. I wonder what he has in store next. It'd be nice to see some kind of indicator that "fills up" until the threshold is reached.
|
|
|
|
SgtSpike
Legendary
Offline
Activity: 1400
Merit: 1005
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 10, 2013, 07:21:12 AM |
|
Apparently that 1.5% satisfied everyone. I wonder what he has in store next. It'd be nice to see some kind of indicator that "fills up" until the threshold is reached.
Well, it's better than nothing in that it shows SOME progress...
|
|
|
|
BoardGameCoin
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 10, 2013, 07:31:58 AM |
|
I keep rough tabs on the intake in terms of revenue for bitfloor to guess about how long it'll take to be paid back. I'm still a little surprised they were able to make the payment they did, but certainly grateful for it. I think outside investment might have been or be involved. On a relatively high-volume day like today, they make ~ 5BTC. It would take 13 years of days like today's to provide enough revenue to cover the debt.
My hope is that they can become an exchange to rival Gox. If they split Gox's current market share and there wasn't additional growth, then they could pay their debt with 1.5 years worth or revenue.
We'll see. One thing is certain: they need to continue to communicate and find ways to make deposits quicker/easier. I appreciate their approach, and am probably about a month of stability away from starting to use them again, though this time with a lot less BTC floating on the exchange.
|
I'm selling great Minion Games like The Manhattan Project, Kingdom of Solomon and Venture Forth at 4% off retail starting June 2012. PM me or go to my thread in the Marketplace if you're interested. For Settlers/Dominion/Carcassone etc., I do email gift cards on Amazon for a 5% fee. PM if you're interested.
|
|
|
bb113
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 10, 2013, 10:40:32 AM |
|
Ok this summarizes it pretty well. Data is from: http://bitcoincharts.com/markets/bitfloorUSD.html http://i47.tinypic.com/107uql0.pngThis R script will generate the above updated according to the bitcoin charts schedule. If someone knows how to host it and have it update in this thread automatically that would be cool: #Set the estimated proportion payed back est.payed.back<-.017
#Get Data from bitcoincharts bitfloor<-read.table("http://bitcoincharts.com/t/trades.csv?symbol=bitfloorUSD&start=0", sep="," )
##Convert Times from Unix times=matrix(nrow=nrow(bitfloor), ncol=6) time.string=NULL for(i in 1:nrow(bitfloor)){ timeStamp<-ISOdatetime(1970,1,1,0,0,0) + bitfloor[i,1] date<-strsplit(as.character(timeStamp), " ")[[1]][1] yr<-as.numeric(strsplit(date, "-")[[1]][1]) mo<-as.numeric(strsplit(date, "-")[[1]][2]) day<-as.numeric(strsplit(date, "-")[[1]][3]) ToD<-strsplit(as.character(timeStamp), " ")[[1]][2] hr<-as.numeric(strsplit(ToD, ":")[[1]][1]) min<-as.numeric(strsplit(ToD, ":")[[1]][2]) sec<-as.numeric(strsplit(ToD, ":")[[1]][2]) times[i,]<-cbind(yr,mo,day,hr,min,sec) time.string<-rbind(time.string,as.character(timeStamp)) }
bitfloor<-cbind(times,bitfloor) colnames(bitfloor)<-c("Yr","Mo","Day","Hr","Min","Sec","UnixT","Price","Vol")
##Set First Timestamp bitfloor was open after hack post.hack.open.time<-as.numeric(head( bitfloor[which(bitfloor[,1]==2012 & bitfloor[,2]==9 & bitfloor[,3]==21),], 1)[7])
##Divide into pre and post hack data pre.hack.bitfloor<-bitfloor[which(bitfloor[,7]<post.hack.open.time),] post.hack.bitfloor<-bitfloor[which(bitfloor[,7]>(post.hack.open.time-1)),]
#Generate cumulative volume and fees pre.hack.bitfloor<-cbind(pre.hack.bitfloor, cumsum(pre.hack.bitfloor[,8]*pre.hack.bitfloor[,9]), cumsum(pre.hack.bitfloor[,8]*pre.hack.bitfloor[,9])*.005 ) colnames(pre.hack.bitfloor)[10:11]<-c("cumUSD.Vol","cumFee")
post.hack.bitfloor<-cbind(post.hack.bitfloor, cumsum(post.hack.bitfloor[,8]*post.hack.bitfloor[,9]), cumsum(post.hack.bitfloor[,8]*post.hack.bitfloor[,9])*.003 ) colnames(post.hack.bitfloor)[10:11]<-c("cumUSD.Vol","cumFee") #
##Set Timestamp of first payout payback.time.one<-as.numeric(head( bitfloor[which(bitfloor[,1]==2012 & bitfloor[,2]==12 & bitfloor[,3]==1),], 1)[7])
##Split into pre and post payout pre.payout.one<-post.hack.bitfloor[which(post.hack.bitfloor[,7]<payback.time.one),] post.payout.one<-post.hack.bitfloor[which(post.hack.bitfloor[,7]>(payback.time.one-1)),]
#Generate cumulative volume and fee data pre.payout.one[,10:11]<-cbind( cumsum(pre.payout.one[,8]*pre.payout.one[,9]), cumsum(pre.payout.one[,8]*pre.payout.one[,9])*.003 )
post.payout.one[,10:11]<-cbind( cumsum(post.payout.one[,8]*post.payout.one[,9]), cumsum(post.payout.one[,8]*post.payout.one[,9])*.003 ) #
##Get months from unix timestamps month.labels=data.frame() for(y in 2012:2013){ for(m in 1:12){ unixT<-bitfloor[which(bitfloor[,1]==y & bitfloor[,2]==m),7][1] month.labels<-rbind(month.labels,cbind(unixT,month.name[m])) } } month.labels<-month.labels[which(!is.na(month.labels[,1])),] month.labels<-month.labels[2:nrow(month.labels),]
##Misc Total.Value.Stolen<-25000*tail(bitfloor[,8],1) Total.Value.Payed<-est.payed.back*Total.Value.Stolen
##Make Plots dev.new() layout(matrix(c(1,1,1,3,2,2,2,4), 2, 4, byrow = TRUE)) plot(bitfloor[,7],bitfloor[,8], type="n", xaxt="n", xlab="Time", ylab="USD/BTC",ylim=c(0,(max(bitfloor[,8])+5)), main="Bitfloor Price History" ) axis(1,at=as.numeric(as.matrix(month.labels[,1])), labels=as.character(month.labels[,2])) lines(pre.hack.bitfloor[,7],pre.hack.bitfloor[,8], col="Green") lines(pre.payout.one[,7],pre.payout.one[,8], col="Red") lines(post.payout.one[,7],post.payout.one[,8], col="Blue") abline(v=payback.time.one)
plot(pre.hack.bitfloor[,7],pre.hack.bitfloor[,11], xaxt="n", xlab="Time", ylab="Cumulative Fees Generated (USD)", xlim=c(min(bitfloor[,7]),max(bitfloor[,7])), type="l", lwd=3, col="Green", main=c("Bitfloor Cumulative Fee Revenue", "Before Hack Rate= 0.5%, After Hack= 0.3%") ) axis(1,at=as.numeric(as.matrix(month.labels[,1])), labels=as.character(month.labels[,2])) lines(pre.payout.one[,7],pre.payout.one[,11], type="l", lwd=3, col="Red" ) lines(post.payout.one[,7],post.payout.one[,11], type="l", lwd=3, col="Blue" ) abline(v=payback.time.one)
barplot(c( Total.Value.Stolen, Total.Value.Payed ), ylab="USD", ylim=c(0,1.1*Total.Value.Stolen), names.arg=c(paste("Value Stolen=", Total.Value.Stolen), paste("Value Payed=",Total.Value.Payed)), col=c("Red","Green"), main=paste("Estimated Payed Back=",100*est.payed.back,"%") )
barplot(c( max(pre.payout.one[,11]), max(post.payout.one[,11]) ), ylim=c(0,1.1*max(c(max(pre.payout.one[,11]),max(post.payout.one[,11])))), ylab="Fees Generated (USD)", names.arg=c(paste("Hack to First Payout=", round(max(pre.payout.one[,11]),1)), paste("Since=",round(max(post.payout.one[,11]),1))), col=c("Red","Blue"), main="Fees Generated Since Hack" )
It did take some effort so if anyone finds it useful: 13oEWYh1tEM6voFp2XmBoD6CCCbidkk2Xm
|
|
|
|
420
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 12, 2013, 05:57:54 AM |
|
What is this ING deposit? like a online based company has checking accounts?
|
Donations: 1JVhKjUKSjBd7fPXQJsBs5P3Yphk38AqPr - TIPS the hacks, the hacks, secure your bits!
|
|
|
Rassah
Legendary
Offline
Activity: 1680
Merit: 1035
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 12, 2013, 06:19:13 AM |
|
What is this ING deposit? like a online based company has checking accounts?
ING was the second online-only bank after NetBank, at a time when online banking was somewhat in its infancy, and the general idea was that all banks should have buildings and bank branches. By being entirely online, ING was able so save a lot of money, and offer free checking with lots of free features, as well as savings accounts with the highest interest rates in the country. They also for a time allowed you to use any ATM for free, and even reimbursed you the $1.50 ATM cash withdrawal fees many ATMs charge. Another feature was that they bragged about being able to fire their customers. In other words, if you called and complained too much, or had too many overdrafts, they would cancel your account and kindly ask you to go elsewhere. Basically, they advertised themselves as a bank for tech-savvy, responsible types. They have gone a little bit downhill since, mainly with their savings rates and such, but I still use them as my main bank. Their ING P2P feature allows you to wire money to anyone else for free, which takes 2 to 3 days for external transfers, and instantly between ING customers. Bitfloor allows you to send them money using your ING account for free, but since they don't have an ING account themselves, it takes 3 days.
|
|
|
|
notme
Legendary
Offline
Activity: 1904
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 12, 2013, 06:23:31 AM |
|
What is this ING deposit? like a online based company has checking accounts?
ING was the second online-only bank after NetBank, at a time when online banking was somewhat in its infancy, and the general idea was that all banks should have buildings and bank branches. By being entirely online, ING was able so save a lot of money, and offer free checking with lots of free features, as well as savings accounts with the highest interest rates in the country. They also for a time allowed you to use any ATM for free, and even reimbursed you the $1.50 ATM cash withdrawal fees many ATMs charge. Another feature was that they bragged about being able to fire their customers. In other words, if you called and complained too much, or had too many overdrafts, they would cancel your account and kindly ask you to go elsewhere. Basically, they advertised themselves as a bank for tech-savvy, responsible types. They have gone a little bit downhill since, mainly with their savings rates and such, but I still use them as my main bank. Their ING P2P feature allows you to wire money to anyone else for free, which takes 2 to 3 days for external transfers, and instantly between ING customers. Bitfloor allows you to send them money using your ING account for free, but since they don't have an ING account themselves, it takes 3 days. They are now a subsidiary of Capital One, but other than that they are great. Also, Bitfloor should get an ING account.
|
|
|
|
DeathAndTaxes
Donator
Legendary
Offline
Activity: 1218
Merit: 1079
Gerald Davis
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 12, 2013, 05:54:31 PM |
|
ING doesn't have business checking accounts.
|
|
|
|
|
Elwar
Legendary
Offline
Activity: 3598
Merit: 2386
Viva Ut Vivas
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 16, 2013, 05:58:40 PM |
|
So Bitfloor still takes ING p2p deposits? I was on their site and could not find it.
I am currently at work so I cannot access the page but could someone show me where I go to do this?
|
First seastead company actually selling sea homes: Ocean Builders https://ocean.builders Of course we accept bitcoin.
|
|
|
jwzguy
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 16, 2013, 06:00:46 PM |
|
So Bitfloor still takes ING p2p deposits? I was on their site and could not find it.
I am currently at work so I cannot access the page but could someone show me where I go to do this?
Click on deposit. If you don't see the deposit tab you may need to log in first.
|
|
|
|
notme
Legendary
Offline
Activity: 1904
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 16, 2013, 06:25:03 PM |
|
So Bitfloor still takes ING p2p deposits? I was on their site and could not find it.
I am currently at work so I cannot access the page but could someone show me where I go to do this?
Click on deposit. If you don't see the deposit tab you may need to log in first. Yep, deposit->USD->ING P2P
|
|
|
|
420
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 19, 2013, 11:04:38 PM |
|
why can only withdraw via ACH and not ING p2p?
|
Donations: 1JVhKjUKSjBd7fPXQJsBs5P3Yphk38AqPr - TIPS the hacks, the hacks, secure your bits!
|
|
|
jwzguy
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 20, 2013, 12:21:07 AM |
|
why can only withdraw via ACH and not ING p2p?
Because ING does not allow businesses to open accounts with the P2P capability. Bitfloor doesn't have an ING account. They just accept transfers from them.
|
|
|
|
420
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 20, 2013, 02:06:04 AM |
|
why can only withdraw via ACH and not ING p2p?
Because ING does not allow businesses to open accounts with the P2P capability. Bitfloor doesn't have an ING account. They just accept transfers from them. owner could just open in his name
|
Donations: 1JVhKjUKSjBd7fPXQJsBs5P3Yphk38AqPr - TIPS the hacks, the hacks, secure your bits!
|
|
|
subject
Newbie
Offline
Activity: 41
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 15, 2013, 03:38:49 AM |
|
Any word on the next release of held funds shtylman?
|
|
|
|
notme
Legendary
Offline
Activity: 1904
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 15, 2013, 05:03:45 AM |
|
Ok this summarizes it pretty well. Data is from: http://bitcoincharts.com/markets/bitfloorUSD.html http://i47.tinypic.com/107uql0.pngThis R script will generate the above updated according to the bitcoin charts schedule. If someone knows how to host it and have it update in this thread automatically that would be cool: #Set the estimated proportion payed back est.payed.back<-.017
#Get Data from bitcoincharts bitfloor<-read.table("http://bitcoincharts.com/t/trades.csv?symbol=bitfloorUSD&start=0", sep="," )
##Convert Times from Unix times=matrix(nrow=nrow(bitfloor), ncol=6) time.string=NULL for(i in 1:nrow(bitfloor)){ timeStamp<-ISOdatetime(1970,1,1,0,0,0) + bitfloor[i,1] date<-strsplit(as.character(timeStamp), " ")[[1]][1] yr<-as.numeric(strsplit(date, "-")[[1]][1]) mo<-as.numeric(strsplit(date, "-")[[1]][2]) day<-as.numeric(strsplit(date, "-")[[1]][3]) ToD<-strsplit(as.character(timeStamp), " ")[[1]][2] hr<-as.numeric(strsplit(ToD, ":")[[1]][1]) min<-as.numeric(strsplit(ToD, ":")[[1]][2]) sec<-as.numeric(strsplit(ToD, ":")[[1]][2]) times[i,]<-cbind(yr,mo,day,hr,min,sec) time.string<-rbind(time.string,as.character(timeStamp)) }
bitfloor<-cbind(times,bitfloor) colnames(bitfloor)<-c("Yr","Mo","Day","Hr","Min","Sec","UnixT","Price","Vol")
##Set First Timestamp bitfloor was open after hack post.hack.open.time<-as.numeric(head( bitfloor[which(bitfloor[,1]==2012 & bitfloor[,2]==9 & bitfloor[,3]==21),], 1)[7])
##Divide into pre and post hack data pre.hack.bitfloor<-bitfloor[which(bitfloor[,7]<post.hack.open.time),] post.hack.bitfloor<-bitfloor[which(bitfloor[,7]>(post.hack.open.time-1)),]
#Generate cumulative volume and fees pre.hack.bitfloor<-cbind(pre.hack.bitfloor, cumsum(pre.hack.bitfloor[,8]*pre.hack.bitfloor[,9]), cumsum(pre.hack.bitfloor[,8]*pre.hack.bitfloor[,9])*.005 ) colnames(pre.hack.bitfloor)[10:11]<-c("cumUSD.Vol","cumFee")
post.hack.bitfloor<-cbind(post.hack.bitfloor, cumsum(post.hack.bitfloor[,8]*post.hack.bitfloor[,9]), cumsum(post.hack.bitfloor[,8]*post.hack.bitfloor[,9])*.003 ) colnames(post.hack.bitfloor)[10:11]<-c("cumUSD.Vol","cumFee") #
##Set Timestamp of first payout payback.time.one<-as.numeric(head( bitfloor[which(bitfloor[,1]==2012 & bitfloor[,2]==12 & bitfloor[,3]==1),], 1)[7])
##Split into pre and post payout pre.payout.one<-post.hack.bitfloor[which(post.hack.bitfloor[,7]<payback.time.one),] post.payout.one<-post.hack.bitfloor[which(post.hack.bitfloor[,7]>(payback.time.one-1)),]
#Generate cumulative volume and fee data pre.payout.one[,10:11]<-cbind( cumsum(pre.payout.one[,8]*pre.payout.one[,9]), cumsum(pre.payout.one[,8]*pre.payout.one[,9])*.003 )
post.payout.one[,10:11]<-cbind( cumsum(post.payout.one[,8]*post.payout.one[,9]), cumsum(post.payout.one[,8]*post.payout.one[,9])*.003 ) #
##Get months from unix timestamps month.labels=data.frame() for(y in 2012:2013){ for(m in 1:12){ unixT<-bitfloor[which(bitfloor[,1]==y & bitfloor[,2]==m),7][1] month.labels<-rbind(month.labels,cbind(unixT,month.name[m])) } } month.labels<-month.labels[which(!is.na(month.labels[,1])),] month.labels<-month.labels[2:nrow(month.labels),]
##Misc Total.Value.Stolen<-25000*tail(bitfloor[,8],1) Total.Value.Payed<-est.payed.back*Total.Value.Stolen
##Make Plots dev.new() layout(matrix(c(1,1,1,3,2,2,2,4), 2, 4, byrow = TRUE)) plot(bitfloor[,7],bitfloor[,8], type="n", xaxt="n", xlab="Time", ylab="USD/BTC",ylim=c(0,(max(bitfloor[,8])+5)), main="Bitfloor Price History" ) axis(1,at=as.numeric(as.matrix(month.labels[,1])), labels=as.character(month.labels[,2])) lines(pre.hack.bitfloor[,7],pre.hack.bitfloor[,8], col="Green") lines(pre.payout.one[,7],pre.payout.one[,8], col="Red") lines(post.payout.one[,7],post.payout.one[,8], col="Blue") abline(v=payback.time.one)
plot(pre.hack.bitfloor[,7],pre.hack.bitfloor[,11], xaxt="n", xlab="Time", ylab="Cumulative Fees Generated (USD)", xlim=c(min(bitfloor[,7]),max(bitfloor[,7])), type="l", lwd=3, col="Green", main=c("Bitfloor Cumulative Fee Revenue", "Before Hack Rate= 0.5%, After Hack= 0.3%") ) axis(1,at=as.numeric(as.matrix(month.labels[,1])), labels=as.character(month.labels[,2])) lines(pre.payout.one[,7],pre.payout.one[,11], type="l", lwd=3, col="Red" ) lines(post.payout.one[,7],post.payout.one[,11], type="l", lwd=3, col="Blue" ) abline(v=payback.time.one)
barplot(c( Total.Value.Stolen, Total.Value.Payed ), ylab="USD", ylim=c(0,1.1*Total.Value.Stolen), names.arg=c(paste("Value Stolen=", Total.Value.Stolen), paste("Value Payed=",Total.Value.Payed)), col=c("Red","Green"), main=paste("Estimated Payed Back=",100*est.payed.back,"%") )
barplot(c( max(pre.payout.one[,11]), max(post.payout.one[,11]) ), ylim=c(0,1.1*max(c(max(pre.payout.one[,11]),max(post.payout.one[,11])))), ylab="Fees Generated (USD)", names.arg=c(paste("Hack to First Payout=", round(max(pre.payout.one[,11]),1)), paste("Since=",round(max(post.payout.one[,11]),1))), col=c("Red","Blue"), main="Fees Generated Since Hack" )
It did take some effort so if anyone finds it useful: 13oEWYh1tEM6voFp2XmBoD6CCCbidkk2Xm If you can make it output to an image file, I'd be glad to put up a link and a cronjob to update it once a week.
|
|
|
|
notme
Legendary
Offline
Activity: 1904
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 15, 2013, 05:04:58 AM |
|
Nevermind, I see it generates a pdf. I can convert that to a png. ![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fdl.getdropbox.com%2Fu%2F176027%2Fbitfloor_fees.png&t=665&c=DNSLY48IgkEf4Q)
|
|
|
|
bb113
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 18, 2013, 05:26:23 PM Last edit: February 18, 2013, 05:41:34 PM by bitcoinbitcoin113 |
|
It looks like some of the text is cut off at the current size, do you want it to automatically generate a png? This will automatically create "bitfloor.png" in whatever your working directory is. I'm not sure how familiar you are with R... to see the working directory run getwd()
#Get Data from bitcoincharts bitfloor<-read.table("http://bitcoincharts.com/t/trades.csv?symbol=bitfloorUSD&start=0", sep="," )
##Convert Times from Unix times=matrix(nrow=nrow(bitfloor), ncol=6) time.string=NULL for(i in 1:nrow(bitfloor)){ timeStamp<-ISOdatetime(1970,1,1,0,0,0) + bitfloor[i,1] date<-strsplit(as.character(timeStamp), " ")[[1]][1] yr<-as.numeric(strsplit(date, "-")[[1]][1]) mo<-as.numeric(strsplit(date, "-")[[1]][2]) day<-as.numeric(strsplit(date, "-")[[1]][3]) ToD<-strsplit(as.character(timeStamp), " ")[[1]][2] hr<-as.numeric(strsplit(ToD, ":")[[1]][1]) min<-as.numeric(strsplit(ToD, ":")[[1]][2]) sec<-as.numeric(strsplit(ToD, ":")[[1]][2]) times[i,]<-cbind(yr,mo,day,hr,min,sec) time.string<-rbind(time.string,as.character(timeStamp)) }
bitfloor<-cbind(times,bitfloor) colnames(bitfloor)<-c("Yr","Mo","Day","Hr","Min","Sec","UnixT","Price","Vol")
##Set First Timestamp bitfloor was open after hack post.hack.open.time<-as.numeric(head( bitfloor[which(bitfloor[,1]==2012 & bitfloor[,2]==9 & bitfloor[,3]==21),], 1)[7])
##Divide into pre and post hack data pre.hack.bitfloor<-bitfloor[which(bitfloor[,7]<post.hack.open.time),] post.hack.bitfloor<-bitfloor[which(bitfloor[,7]>(post.hack.open.time-1)),]
#Generate cumulative volume and fees pre.hack.bitfloor<-cbind(pre.hack.bitfloor, cumsum(pre.hack.bitfloor[,8]*pre.hack.bitfloor[,9]), cumsum(pre.hack.bitfloor[,8]*pre.hack.bitfloor[,9])*.005 ) colnames(pre.hack.bitfloor)[10:11]<-c("cumUSD.Vol","cumFee")
post.hack.bitfloor<-cbind(post.hack.bitfloor, cumsum(post.hack.bitfloor[,8]*post.hack.bitfloor[,9]), cumsum(post.hack.bitfloor[,8]*post.hack.bitfloor[,9])*.003 ) colnames(post.hack.bitfloor)[10:11]<-c("cumUSD.Vol","cumFee") #
##Set Timestamp of first payout payback.time.one<-as.numeric(head( bitfloor[which(bitfloor[,1]==2012 & bitfloor[,2]==12 & bitfloor[,3]==1),], 1)[7])
##Split into pre and post payout pre.payout.one<-post.hack.bitfloor[which(post.hack.bitfloor[,7]<payback.time.one),] post.payout.one<-post.hack.bitfloor[which(post.hack.bitfloor[,7]>(payback.time.one-1)),]
#Generate cumulative volume and fee data pre.payout.one[,10:11]<-cbind( cumsum(pre.payout.one[,8]*pre.payout.one[,9]), cumsum(pre.payout.one[,8]*pre.payout.one[,9])*.003 )
post.payout.one[,10:11]<-cbind( cumsum(post.payout.one[,8]*post.payout.one[,9]), cumsum(post.payout.one[,8]*post.payout.one[,9])*.003 ) #
##Get months from unix timestamps month.labels=data.frame() for(y in 2012:2013){ for(m in 1:12){ unixT<-bitfloor[which(bitfloor[,1]==y & bitfloor[,2]==m),7][1] month.labels<-rbind(month.labels,cbind(unixT,month.name[m])) } } month.labels<-month.labels[which(!is.na(month.labels[,1])),] month.labels<-month.labels[2:nrow(month.labels),]
##Misc est.payed.back<-.017 Total.Value.Stolen<-25000*tail(bitfloor[,8],1) Total.Value.Payed<-est.payed.back*Total.Value.Stolen
##Make Plots png("bitfloor.png", height=800, width=1300, pointsize=15) layout(matrix(c(1,1,1,3,2,2,2,4), 2, 4, byrow = TRUE)) plot(bitfloor[,7],bitfloor[,8], type="n", xaxt="n", xlab="Time", ylab="USD/BTC",ylim=c(0,(max(bitfloor[,8])+5)), main="Bitfloor Price History" ) axis(1,at=as.numeric(as.matrix(month.labels[,1])), labels=as.character(month.labels[,2])) lines(pre.hack.bitfloor[,7],pre.hack.bitfloor[,8], col="Green") lines(pre.payout.one[,7],pre.payout.one[,8], col="Red") lines(post.payout.one[,7],post.payout.one[,8], col="Blue") abline(v=payback.time.one)
plot(pre.hack.bitfloor[,7],pre.hack.bitfloor[,11], xaxt="n", xlab="Time", ylab="Cumulative Fees Generated (USD)", xlim=c(min(bitfloor[,7]),max(bitfloor[,7])), type="l", lwd=3, col="Green", main=c("Bitfloor Cumulative Fee Revenue", "Before Hack Rate= 0.5%, After Hack= 0.3%") ) axis(1,at=as.numeric(as.matrix(month.labels[,1])), labels=as.character(month.labels[,2])) lines(pre.payout.one[,7],pre.payout.one[,11], type="l", lwd=3, col="Red" ) lines(post.payout.one[,7],post.payout.one[,11], type="l", lwd=3, col="Blue" ) abline(v=payback.time.one)
barplot(c( Total.Value.Stolen, Total.Value.Payed ), ylab="USD", ylim=c(0,1.1*Total.Value.Stolen), names.arg=c(paste("Value Stolen=", Total.Value.Stolen), paste("Value Payed=",Total.Value.Payed)), col=c("Red","Green"), main=paste("Estimated Payed Back=",100*est.payed.back,"%") )
barplot(c( max(pre.payout.one[,11]), max(post.payout.one[,11]) ), ylim=c(0,1.1*max(c(max(pre.payout.one[,11]),max(post.payout.one[,11])))), ylab="Fees Generated (USD)", names.arg=c(paste("Hack to First Payout=", round(max(pre.payout.one[,11]),1)), paste("Since=",round(max(post.payout.one[,11]),1))), col=c("Red","Blue"), main="Fees Generated Since Hack" ) dev.off()
you may need to adjust these settings for your system, I had to play around with it: png("bitfloor.png", height=800, width=1300, pointsize=15)
|
|
|
|
|