[HN Gopher] Market Map
       ___________________________________________________________________
        
       Market Map
        
       Author : ernaem
       Score  : 87 points
       Date   : 2023-08-17 18:05 UTC (4 hours ago)
        
 (HTM) web link (marketmap.one)
 (TXT) w3m dump (marketmap.one)
        
       | Bissness wrote:
       | Similar visualization: https://finviz.com/map.ashx?t=sec&st=w4
        
         | TheMagicHorsey wrote:
         | I actually prefer this style of visualization. I think the 3D
         | visualization just adds needless complexity.
         | 
         | Or for 3 dimensional data I like bubble charts like this:
         | https://mezziapp.com/dashboard/?id=8qFZ3RPiLKTCK3uk4gmG
        
       | sockaddr wrote:
       | I feel like this should somehow be combined with https://agar.io
        
       | datadrivenangel wrote:
       | Super cool visualization, though the 3rd dimension does not seem
       | to add anything over 2 dimensions. Cool algorithm.
        
         | ernaem wrote:
         | If you're using or for actual market analysis, then yes. I
         | completely agree that the 3rd dimension makes it more
         | complicated! But there's a 3D/2D toggle in the top left corner
         | of the Overview page if you're opening it from the desktop
        
       | nostromo wrote:
       | What good is placement within a matrix if you can't see what the
       | axes are?
        
         | Galanwe wrote:
         | I don't get it as well.
         | 
         | The color dimension is configurable, so it makes sense.
         | 
         | But I don't get what the 3 dimensions of spatial coordinates
         | are, and how to change them.
         | 
         | --- Edit
         | 
         | Alright my bad it's actually explained in the "tour":
         | https://pair-code.github.io/understanding-umap/
         | 
         | It seems to be some kind of multivariate PCA.
        
           | consilient wrote:
           | > It seems to be some kind of multivariate PCA.
           | 
           | No, UMAP is nonlinear. The general idea is that you generate
           | a neighborhood graph of your data points, do a spectral
           | embedding on that to get your initial result, and then do
           | gradient descent to make _its_ neighborhood graph closer to
           | the high-dimensional one.
        
         | ethanbond wrote:
         | I guess it's a Principle Component Analysis (PCA)
         | dimensionality reduction so the axes are not necessarily
         | concepts/features with names. More just "abstract dimensions of
         | similarity."
        
           | mortenjorck wrote:
           | The underlying UMAP model is actually pretty interesting.
           | It's linked to in the tour, though I would have expected it
           | to be featured more prominently: https://pair-
           | code.github.io/understanding-umap/
        
           | intrasight wrote:
           | Then why is TSM so far away from ASML? What are the UMAP
           | parameters? Perhaps it says somewhere but isn't make
           | prominent.
        
       | dave333 wrote:
       | Would be nice to be able to use custom metrics or scripts or
       | indicators for the various axes/features and then show a movie of
       | the display over time. Do the stocks that take off appear
       | randomly or do they exhibit similar behavior?
        
       | jlarkin1 wrote:
       | Beautiful viz. Nice work. Will definitely be sending it around.
        
       | mucle6 wrote:
       | I wish they had comments about what the clusters are and what the
       | "empty loops" are
        
         | mortenjorck wrote:
         | I suppose an unavoidable effect of the dimensionality reduction
         | process is that clusters of correlations across dozens of
         | dimensions are by nature hard to describe.
         | 
         | This actually seems like a potentially great application for
         | LLMs - generating a semantic description of an n-dimensional
         | correlation.
        
           | mucle6 wrote:
           | This does sound like a fun use case, but I wouldn't even mind
           | being allowed to browse 2d representations to get an
           | intuition of the clusterings
        
             | ernaem wrote:
             | By the way, if you're browsing from the desktop, there's a
             | 3D/2D toggle in the top left corner of the Overview page.
        
       | p1mrx wrote:
       | This looks pretty, but it has the rather serious limitation that
       | you can't search for a company, and then see what its neighbors
       | are.
       | 
       | Er, actually it is possible if you click one of the (unlabeled)
       | neighbors, then zoom back in and hover around to find the
       | original company again. But whether this works seems to depend on
       | which color scheme is active.
       | 
       | In general, most interactions force you to zoom out and lose your
       | place, and sometimes it just keeps rotating for no apparent
       | reason.
       | 
       | NuScale Power (SMR) is categorized as "Life Sciences /
       | Agricultural Production-crops", which makes me question the rest
       | of the data.
        
       | fudged71 wrote:
       | Now create a joint embedding space with some description of each
       | company :)
        
       | let_var wrote:
       | Nice work @ernaem! It's pretty and has some freshness to it. I
       | browsed it on my iPhone, so didn't do any deep dive.
       | 
       | Would you consider sharing anything from the stack, data and tech
       | side?
        
         | ernaem wrote:
         | Thanks @let_var! On the front end, it's a Next.js app with
         | three.js / D3 visuals. The map rendering and the UI was done
         | from scratch almost (well, on top of the mentioned libraries)
         | 
         | And on the backend it's a simple Node.js Express server. Data-
         | wise, I can't share the exact APIs I'm using but they're easily
         | searchable.
        
       | shortcrct wrote:
       | Outside of looking pretty and complex, I just can't figure out
       | what marginal benefit I have looking at this graph vs this one
       | from FinViz [0]. It's clearer, easier to read, and not three-
       | dimensional.
       | 
       | [0]: https://finviz.com/map.ashx
        
         | ernaem wrote:
         | If you want to see the map in 2D, there's a 3D/2D switch in the
         | top left corner of the Overview page (only in the desktop
         | version though )
        
         | cle wrote:
         | It's an interesting way to visualize relationships between
         | companies beyond just sector/industry (as in FinViz).
         | 
         | > Each point on the Market Map represents a distinct company
         | traded on the NYSE or NASDAQ and positioned according to a
         | series of market metrics such as the Market Capitalization, the
         | Price to Earnings ratio, EBITDA, and others.
        
       | dataviz1000 wrote:
       | Sorry to place this here. I've been working on some stock market
       | data visualization over the past couple days -- not as pretty but
       | it makes the point -- and would love some feedback.
       | 
       | Analyzing the Direct Correlation between Federal Reserve's
       | Reverse Repo Operations and S&P 500 Stock Prices
       | 
       | https://github.com/adam-s/fred-reverse-repo-analysis/blob/ma...
        
       | MilStdJunkie wrote:
       | Incredible viz.
       | 
       | I've experimented with zillions of 3d graphing layouts, usually
       | in the context of PDM/ERP for manufacturing/logistics. Couple of
       | roadblocks I've encountered that are also obstacles here
       | (although he does a MUCH better job than I did in overcoming
       | them, including dynamic distance between nodes, which I can't get
       | away with, sad to say)
       | 
       | First is parallax, the phenomenon of things appearing larger when
       | they are closer to the observer. What this means is that the node
       | size CAN'T be significant in a 3d network unless the perspective
       | is set to orthographic / isometric - because it's going to screw
       | with parallax. How can you tell if the node is actually larger,
       | or if it's just closer?
       | 
       | Second interesting thing about 3d networks is how the
       | (Levenshtein or whatever parm) distance resolves in 3d space, and
       | how that's going to be legible given that we don't have a fourth
       | dimension to stick a camera in. On a 2d surface, the distance-
       | driven force resolves in a 2d vector, so that looking down on it
       | from above, no matter where the force vectors go, all the nodes
       | will be theoretically visible. If you just plot plain distance as
       | a force into 3 dimensions, just using geodesic or straightest
       | line distance, the most tightly gathered nodes will _disappear_ ,
       | i.e., be completely occluded. You won't see them!
       | 
       | One possible resolution for this problem, I've found, is
       | classification of distance and assigning this class / category to
       | a specific axis. For example, X axis can be time, Y axis can be a
       | single vector (like, say, military / civilian adoption of a
       | particular dual use part number, expressed as n), and Z axis can
       | represent actual "real" distance (based on tokens, references,
       | "where used", and whatever other factors, either all of them or
       | some of them). This gives you structure where dimensions in the
       | data viz are immediately significant, and simple isometric
       | distance doesn't pile all the nodes in front of each other
       | because they share the same space as the audience.
       | 
       | The takeaway here is that a 3d graph can't just use the same
       | parameters as a 2d graph. The data has to be summarized
       | differently so that the graph remains meaningful. Nothing WRONG
       | with just dumping distance into straight 3d distance, but from
       | the perspective of visual storytelling, it's not optimal.
       | 
       | Also, use isometric cameras. Sure, it's very pretty to have a
       | camera swoop and dive, but it's not going to tell the data's
       | story as well as an isometric camera. (Yes I know I am misusing
       | "isometric" here, but it's the word most people recognize).
        
         | ernaem wrote:
         | Thanks for sharing your experience @MilStdJunkie
         | 
         | Actually the camera here is isometric! It doesn't look that way
         | but it is.
        
       ___________________________________________________________________
       (page generated 2023-08-17 23:00 UTC)