How to make an object move using touch, so that the object is not under the finger touch ?

Suppose my object is somewhere near the top left of the screen. No matter where I touch and drag on the screen, the movement of the object needs to copy the same motion as the touch path on the screen. Also, this should not make the object move under the finger and follow it from there. How do I maintain the offset of the object with respect to the touch ?

public float speed = 0.01F;
void Update() {
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) {
Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
transform.Translate(touchDeltaPosition.x * speed * Time.deltaTime, touchDeltaPosition.y * speed * Time.deltaTime, 0);
}
}

The above code seemed to work fine. Just need to find a way to smoothen the motion a bit.