The following is taken from PEU1 339.8:
May/might have ... can sometimes refer to the present or future.
#1 I'll try phoning him, but he may have gone out by now.
#2 By the end of this year I might have saved some money.
For #2, I think it would create ambiguity without context:
It could refer to my expectation that I am likely to have saved some money by the end of this year. I think this is what it's intended to mean here.
But it could also stand for a hypothetical situation where it would have been possible for me to save some money by the end of this year if I hadn't spent a lot on my new Audi.
Is my understanding correct?
If my understanding is correct, then is it possible to substitute could have for might have with meaning unchanged?
#3 By the end of this year I could have saved some money.
Is #3 also ambiguous without context? It could refer to an attainable expectation or a possibilty that will not be able to come true.
Or, to put it another way, can could have be used to express factual possibility without time restraints just like might/may have in #1 and #2, both meaning "by the end of this year I will possibly have saved some money."?
1. PEU = Michael Swan's, Practical English Usage.