_MoveSwiftly

joined 2 years ago
MODERATOR OF
9
Partner Communities (lemmy.world)
submitted 2 years ago* (last edited 2 years ago) by _MoveSwiftly@lemmy.world to c/til@lemmy.world
 

To partner with our community and be included here, you are free to message the moderators or comment on our pinned post.

0
Partner Communities (lemmy.world)
submitted 2 years ago* (last edited 2 years ago) by _MoveSwiftly@lemmy.world to c/nostupidquestions@lemmy.world
 

To partner with our community and be included here, you are free to message the moderators or comment on our pinned post.

 

cross-posted from: https://lemmy.world/post/704147

cross-posted from: https://lemmy.world/post/704145

Yes, live.

I've looked for this for a while and didn't find much. Being a stubborn ass (The Boondocks voice) I kept looking until I got it down. There are trackers for the options you've sold, call and put screeners, calculators to avoid CSP risk, holdings, and a singular location for cost basis so you don't do something dumb like Idk sell SPCE CCs at $20 when your cost basis is $22 but you thought it was $18. I definitely didn't do that.

Google Sheet

You'll need to add a custom script:

  1. Tools
  2. Script Editor
  3. Add file
  4. Name it SAMPLE
  5. Paste this into it:

The code is thanks to tanaike

Code source: https://stackoverflow.com/questions/64437503/importxml-not-producing-correct-values

function SAMPLE(url) {
  const res = UrlFetchApp.fetch(url, {muteHttpExceptions: true});
  const tables = [...res.getContentText().matchAll(/(<table[\w\s\S]+?<\/table>)/g)];
  if (tables.length < 2) return "No tables. Please confirm URL again.";
  const values = tables.reduce((ar, [,table]) => {
    if (table) {
      const root = XmlService.parse(table).getRootElement();
      const temp = root.getChild("tbody", root.getNamespace()).getChildren().map(e => e.getChildren().map(f => isNaN(f.getValue()) ? f.getValue() : Number(f.getValue())));
      ar = ar.concat(temp);
    }
    return ar;
  }, []);
  return values[0].map((_, i) => values.map(r => r[i]));
}

The result: It returns a table, so you need to use INDEX with it in order to point to a specific row/column. The method itself is SAMPLE, which takes a URL and returns a table. So you'll need to use Concatenate in order to make up the URL for a Yahoo link.

Google Sheet function:

=INDEX(SAMPLE(CONCATENATE("https://finance.yahoo.com/quote/", $A7, RIGHT(YEAR($E7), 2), TEXT(MONTH($E7), "00"), TEXT(DAY($E7),"00"), IF(B7 = "PUT", "P", "C"), SUBSTITUTE(TEXT($M7,"00000.000"), ".", ""), "?p=", $A7, RIGHT(YEAR($E7), 2), TEXT(MONTH($E7), "00"), TEXT(DAY($E7),"00"), "C", SUBSTITUTE(TEXT($M7,"00000.000"), ".", ""))), 2, 3) 

Known issues:

  1. Loading from mobile is not reliable. You may have to erase the cell and undo, or reload, or get on a laptop/desktop.
  2. Sorting recalculates the numbers and sometimes it stops working. I just don't sort anymore, but it'll eventually fix itself.
  3. It doesn't calculate if you change values. Just erase the cell and undo, it'll do it correctly.
  4. Not all options are available on Yahoo, especially if you're looking 30+ days.

Full page, two words: ~~Fuck you~~ good luck!

P.S. Yahoo dev: If you're seeing this, please let me be. This was already hard enough to put together. Plz.

 

cross-posted from: https://lemmy.world/post/704145

Yes, live.

I've looked for this for a while and didn't find much. Being a stubborn ass (The Boondocks voice) I kept looking until I got it down. There are trackers for the options you've sold, call and put screeners, calculators to avoid CSP risk, holdings, and a singular location for cost basis so you don't do something dumb like Idk sell SPCE CCs at $20 when your cost basis is $22 but you thought it was $18. I definitely didn't do that.

Google Sheet

You'll need to add a custom script:

  1. Tools
  2. Script Editor
  3. Add file
  4. Name it SAMPLE
  5. Paste this into it:

The code is thanks to tanaike

Code source: https://stackoverflow.com/questions/64437503/importxml-not-producing-correct-values

function SAMPLE(url) {
  const res = UrlFetchApp.fetch(url, {muteHttpExceptions: true});
  const tables = [...res.getContentText().matchAll(/(<table[\w\s\S]+?<\/table>)/g)];
  if (tables.length < 2) return "No tables. Please confirm URL again.";
  const values = tables.reduce((ar, [,table]) => {
    if (table) {
      const root = XmlService.parse(table).getRootElement();
      const temp = root.getChild("tbody", root.getNamespace()).getChildren().map(e => e.getChildren().map(f => isNaN(f.getValue()) ? f.getValue() : Number(f.getValue())));
      ar = ar.concat(temp);
    }
    return ar;
  }, []);
  return values[0].map((_, i) => values.map(r => r[i]));
}

The result: It returns a table, so you need to use INDEX with it in order to point to a specific row/column. The method itself is SAMPLE, which takes a URL and returns a table. So you'll need to use Concatenate in order to make up the URL for a Yahoo link.

Google Sheet function:

=INDEX(SAMPLE(CONCATENATE("https://finance.yahoo.com/quote/", $A7, RIGHT(YEAR($E7), 2), TEXT(MONTH($E7), "00"), TEXT(DAY($E7),"00"), IF(B7 = "PUT", "P", "C"), SUBSTITUTE(TEXT($M7,"00000.000"), ".", ""), "?p=", $A7, RIGHT(YEAR($E7), 2), TEXT(MONTH($E7), "00"), TEXT(DAY($E7),"00"), "C", SUBSTITUTE(TEXT($M7,"00000.000"), ".", ""))), 2, 3) 

Known issues:

  1. Loading from mobile is not reliable. You may have to erase the cell and undo, or reload, or get on a laptop/desktop.
  2. Sorting recalculates the numbers and sometimes it stops working. I just don't sort anymore, but it'll eventually fix itself.
  3. It doesn't calculate if you change values. Just erase the cell and undo, it'll do it correctly.
  4. Not all options are available on Yahoo, especially if you're looking 30+ days.

Full page, two words: ~~Fuck you~~ good luck!

P.S. Yahoo dev: If you're seeing this, please let me be. This was already hard enough to put together. Plz.

 

cross-posted from: https://lemmit.online/post/11065

This is an automated archive made by the Lemmit Bot.

The original was posted on /r/technology by /u/Sorin61 on 2023-06-23 10:41:54+00:00.

 

I just remembered this game. It's actually really good. Has anyone tried it?

 

Just starting a discussion, since I'm not seeing people post and this is still new.

What case are you using, what have you used, and what did you like best?

I've only had two. NFC S4 Mini Classic and FormD T1 V2.

I really liked the S4 Mini because of its size, but it wasn't easy to work on. The FormD although larger, much easier to work on and no heating issues.

view more: next ›