Skip to content

Instantly share code, notes, and snippets.

// Trades SPY short strangles around 16 deltas, according to most of tastytrade mechanics
// - Manages one position at a time, sized to not exceed 30% of net liq
// - XXX: QC margin model is not really correct for short strangles, need to swap in a custom model.
// - XXX: BPR is determined by putting on one unit first. This is not 100% reliable.
// - Looks for a trade to put on whenever it has nothing
// - Opens trades at 30-60 dte
// - XXX: legs in and out with single option orders. Platform supports multi-leg orders but not using it yet.
// - Closes to 50% max profit
// - If assigned (almost never happens due to management mechanics) liquidates entire remaining stock+option position
// - XXX: calculates delta on our side since there are issues with the builtin pricing model impl. Only IV from the builtin
@chrisforbes
chrisforbes / gist:c6205eca44c93e3079a97a8be4dff44d
Last active January 25, 2021 02:09
agx gpu open questions
1) either fadd.16 src encoding is wrong, or 16b load/store encoding is wrong:
-ld_compute w0, [thread_position_in_grid].x
# 85 08 00 0E 00 C0 10 00
+load h4, h#0.abs.neg, h#0, h0
# 85 0C 04 0E 00 C0 10 00
+load h6, h#4.abs.neg, h#0, h0
# 38 00
-unk38 h0
# 26 84 C3 20 0C 00
using UnityEngine;
using System.Collections.Generic;
public class HandGrab : MonoBehaviour
{
SteamVR_TrackedObject trackedObj;
SteamVR_Controller.Device controller { get { return SteamVR_Controller.Input((int)trackedObj.index); } }
GameObject pickUp;
ConfigurableJoint joint, joint2;
public TextMesh describe;
// select the face direction in the tangent plane to `this_face`
// most closely aligned with `v`
#include <limits>
glm::ivec3 get_closest_tangent(int this_face, glm::vec3 v) {
glm::ivec3 best;
float bestdot = std::numeric_limits<float>::lowest();
for (int face = 0; face < 6; face++) {
static unsigned get_neighbor_bits(wire_pos w) {
unsigned bits = 0u;
auto bl = ship->get_block(w.pos);
for (auto i = 0u; i < 6u; i++) {
if (i == w.face || i == (w.face ^ 1)) continue;
if (bl->surfs[i]) {
// inside corner
if (bl->has_wire[i]) {
bits |= 1 << i;
}
16:52 <chrisf> the tech (pathing on the surface collection) also lends itself
directly to navigation for space spiders or something
16:53 <chrisf> and for spreading of our energy-sucking space mold
17:00 <cjh`_> :D
17:00 <cjh`_> space mold to make food / oxygen?
17:00 <chrisf> dont know if you can eat it
17:01 <chrisf> but the first idea was that it gets into the power and network
wiring and screws things up
17:01 <cjh`_> I CAN TRY
17:01 <cjh`_> ahhh
1>Code Generation Summary
1> Total Function Count: 5186
1> Elapsed Time: 2.849 sec
1> Total Compilation Time: 10.711 sec
1> Efficiency: 376.0%
1> Average time per function: 0.002 sec
1> Anomalistic Compile Times: 70
1> ?Begin@ImGui@@YA_NPEBDPEA_NH@Z: 0.335 sec, 2242 instrs
1> ?InputTextEx@ImGui@@YA_NPEBDPEADHAEBUImVec2@@HP6AHPEAUImGuiTextEditCallbackData@@@ZPEAX@Z: 0.216 sec, 2018 instrs
1> ?rebuild_topology@ship_space@@QEAAXXZ: 0.140 sec, 674 instrs
void Update()
{
if (controller.GetPressDown(Valve.VR.EVRButtonId.k_EButton_Grip) && pickUp != null)
{
var rb = pickUp.GetComponent<Rigidbody>();
if (rb.isKinematic)
{
// this constraint will allow us to pull/push ourselves through the space.
#define MAX_DRAW_SIZE 16384
void
draw_mesh(hw_mesh *m)
{
glBindVertexArray(m->vao);
GLuint indices = m->num_indices;
GLuint offset = 0;
@chrisforbes
chrisforbes / keybase.md
Created January 12, 2015 20:36
keybase.md

Keybase proof

I hereby claim:

  • I am chrisforbes on github.
  • I am chrisf (https://keybase.io/chrisf) on keybase.
  • I have a public key whose fingerprint is 06BB 7261 8AC0 DE41 2AED 336D F859 0AD6 E6EF 6A04

To claim this, I am signing this object: