I prefer masking the link or shortening it.
From a
SEO standpoint, all three are almost the same however from a viewer/visitor standpoint, it makes a difference.
An experienced user normally hovers over the link and looks at the status bar for the URL. In such cases they tend to not click on any affiliate URLs expecting the fact that they would have to buy something.
To avoid this you could use URL shortening services, which again would make users skeptical or the best way is to cloak the links using Javasript.
Bookmarks